이니 미니 마이니 모

시간 제한2초메모리 제한512 MB

요약
N마리의 암소가 원을 이루고 있을 때, 최대 L개의 정수로 이루어진 수열을 반복해가며 제거를 진행하고 마지막에 남는 암소의 번호를 구한다.
난이도

보통10점 중 4점

유형
시뮬레이션, 구현, 큐
정답자
아직 제출이 없습니다

문제

Bessie는 놀이에 함께할 송아지를 고를 때 노래를 부르며 수를 센다. 오늘은 1번부터 N번까지 번호를 붙인 송아지 N마리 가운데 한 마리에게 연한 봄풀로 만든 건초를 주려 한다. 송아지는 번호 순서대로 원을 이루어 서 있다.

탈락 차례는 길이가 L인 정수 수열이 정한다. 수열의 각 원소는 1 이상 N 이하다. 세기는 1번 송아지에서 시작하고, 세기 시작한 송아지를 1로 센다. 수열의 첫 번째 수만큼 센 자리의 송아지가 탈락한다. 그다음에는 방금 탈락한 송아지의 다음 송아지를 1로 세어 수열의 두 번째 수만큼 센 자리의 송아지를 탈락시킨다. 원도 수열도 순환한다. 수열을 끝까지 쓰면 처음으로 돌아가고, 이미 탈락한 송아지는 세지 않고 건너뛴다. 한 마리만 남을 때까지 반복한 뒤 남은 송아지의 번호를 구한다.

예를 들어 송아지가 8마리이고 탈락 수열이 5, 3이라고 하자. 1번에서 5만큼 세면 1, 2, 3, 4, 5이므로 5번이 탈락한다. 6번에서 3만큼 세면 6, 7, 8이므로 8번이 탈락한다. 수열을 다 썼으니 처음부터 다시 쓴다. 1번에서 5만큼 세면 5번은 이미 빠졌으므로 1, 2, 3, 4, 6이고 6번이 탈락한다. 7번에서 3만큼 세면 7, 1, 2이므로 2번이 탈락한다. 이어서 3번, 1번, 4번이 차례로 빠지고 7번이 마지막까지 남는다.

입력

입력은 데이터 세트 여러 개로 이루어지고 파일 끝까지 이어진다. 각 데이터 세트는 두 줄이다.

  • 첫째 줄: 송아지 수 N과 수열의 길이 L이 공백으로 구분되어 주어진다 (1≤N≤23001 \le N \le 2300, 1≤L≤101 \le L \le 10).
  • 둘째 줄: 탈락 수열을 이루는 정수 L개가 공백으로 구분되어 주어진다. 각 값은 1 이상 N 이하다.

파일 끝까지 데이터 세트를 읽어 처리한다.

출력

각 데이터 세트마다 마지막까지 남은 송아지의 번호를 한 줄에 하나씩 출력한다.

예제4

  1. 예제 1

    입력
    8 2
    5 3
    
    예상 출력
    7
    
  2. 예제 2

    입력
    1 1
    1
    
    예상 출력
    1
    
  3. 예제 3

    입력
    2 1
    1
    
    예상 출력
    2
    
  4. 예제 4

    입력
    5 1
    2
    
    예상 출력
    3