제멋대로 앉는 할머니
시간 제한2초메모리 제한64 MB
옮겨 앉기 규칙으로 기록된 착석 순서가 주어졌을 때 맨 먼저 탄 승객의 지정 좌석이 하나로 정해지면 그 번호를, 아니면 0을 출력합니다.
문제
확률 문제로 잘 알려진 퍼즐을 조금 바꾼 문제다. 비행기에는 좌석이 개 있고 승객도 명이라 좌석이 모두 배정되어 있다. 번 승객의 좌석은 번이다. 원래대로라면 승객은 좌석 번호 순서대로 한 명씩, 1번 좌석의 승객부터 번 좌석의 승객까지 차례로 탑승한다.
그런데 할머니 한 분은 줄을 서지 않는다. 자기 좌석이 1번이 아니어도 남들보다 먼저 비행기에 올라 마음에 드는 좌석에 그냥 앉는다. 우연히 자기 좌석에 앉기도 한다.
할머니가 앉은 뒤에는 남은 승객이 좌석 번호가 작은 사람부터 차례로 타고 다음과 같이 앉는다.
- 자기 좌석이 비어 있으면 그 좌석에 앉는다.
- 자기 좌석에 이미 누가 앉아 있으면 남은 좌석 중 아무 곳에나 앉는다.
마지막 승객은 어느 좌석에 앉을까? 답은 간단하다. 자기 좌석에 앉거나 할머니의 좌석에 앉는다. 할머니가 자기 좌석이 아닌 번 좌석에 앉았다고 하자. 번 좌석을 배정받은 승객이 타면 남은 좌석 중 하나에 앉아야 하고, 그 뒤의 승객에게도 같은 일이 이어지기도 한다. 하지만 누군가 할머니의 좌석에 앉는 순간 그 뒤의 승객은 모두 자기 좌석에 앉는다.
탑승 순서대로 좌석이 주어질 때 할머니가 원래 배정받은 좌석 번호를 구하여라.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다 (). 다음 개의 줄에는 각각 개의 수가 공백으로 구분되어 주어진다. 첫 수는 좌석 수 이고 (), 이어서 이 주어진다. 는 번째로 탑승한 사람이 앉은 좌석 번호다. 입력에는 위 규칙으로 실제 일어날 수 있는 탑승만 주어진다.
출력
각 테스트 케이스마다 한 줄씩 출력한다. 탑승 기록으로 할머니의 좌석 번호가 하나로 정해지면 그 번호를, 그렇지 않으면 0을 출력한다.
힌트
좌석이 2개인 비행기에서 먼저 탄 사람이 2번 좌석에, 그다음 사람이 1번 좌석에 앉았다면 답은 0이다. 할머니가 1번 승객이라 자기 좌석이 아닌 곳에 앉았다고 볼 수도 있고, 할머니가 2번 승객이라 자기 좌석에 앉았다고 볼 수도 있기 때문이다.