M*A*S*H
면접 대비시간 제한1초메모리 제한128 MB
P명이 줄을 선 상태에서 카드에 적힌 수만큼 세어 사람을 제거하는 과정을 X명이 남을 때까지 반복하고, 남은 사람의 원래 번호를 오름차순으로 출력한다.
문제
한국 전쟁 당시 제4077 이동 육군 외과병원(MAS*H)에 배속된 클링거 상병은 집으로 돌아가기 위해서라면 무슨 일이든 하려 한다. 군은 추첨을 열어 본국의 신병 모집 순회에 참여할 행운의 인원 명을 뽑는데, 클링거는 그 안에 들기 위해 당신의 도움이 필요하다.
추첨은 다음과 같이 진행된다. 부대원 명이 한 줄로 서서 맨 앞부터 번, 번, …, 번으로 번호를 매긴다. 카드 한 벌이 세는 방식을 결정한다. 맨 위 카드를 한 장 뽑으면 그 값 (인 정수)가 이번 한 바퀴의 세기 한도가 된다. 줄에 남아 있는 첫 번째 사람부터 시작해 사람들을 으로 센다. 세는 수가 에 도달할 때마다 그 사람은 줄에서 빠지고, 곧바로 다음 사람부터 다시 부터 센다. 줄의 끝(남아 있는 마지막 사람)에 도달하면 그 시점의 수와 상관없이 이번 바퀴는 끝난다. 다음 카드를 뽑아 남은 줄의 첫 번째 사람부터 다시 부터 세기 시작한다. 한 바퀴마다 카드는 정확히 한 장씩 사용된다.
줄에 정확히 명이 남는 순간 그 사람들이 당첨자이며 과정은 멈춘다. 카드 한 벌과 사람 수 가 주어질 때, 당첨되는 자리 번호를 구하라. 당첨자는 처음 장의 카드 안에서 반드시 결정됨이 보장된다.
예를 들어 사람이 명, 당첨 인원이 명이고 카드가 라면 최종 생존자는 번과 번 자리에 있게 된다.
입력
입력은 하나 이상의 추첨으로 이루어지며 입력의 끝까지 읽는다. 각 추첨은 개의 정수 묶음으로 주어진다.
- 첫 번째 정수 ()는 줄에 선 사람 수이다.
- 두 번째 정수 ()는 뽑을 당첨 자리의 수이다.
- 이어지는 개의 정수는 덱의 처음 장의 카드 값이며, 각 값은 이상 이하이다.
모든 추첨에서 당첨자는 이 장 안에서 결정됨이 보장된다.
출력
각 추첨에 대해 주어진 순서대로 Selection #i 한 줄을 출력한다. 여기서 는 부터 세는 추첨의 순번이다. 그다음 줄에는 당첨된 자리 번호를 오름차순(줄에 남은 순서)으로, 각 번호 뒤에 공백 하나를 붙여 출력한다. 추첨 사이에 빈 줄은 출력하지 않는다.