iCow
시간 제한1초메모리 제한128 MB
평점이 가장 높은 곡을 고르고 그 곡의 평점을 0으로 만든 뒤 점수를 나머지 곡에 나눠 주는 과정을 T번 반복한다.
문제
농부 John은 끝없는 농사일에 지쳐, 새 MP3 플레이어 iCow로 시장에 도전하기로 했다. iCow는 개의 노래()를 저장하며, 노래에는 번부터 번까지 번호가 매겨져 있다. 재생 순서는 John이 직접 만든 다음 알고리즘에 따라 "섞인" 순서로 정해진다.
- 각 노래 는 초기 평점 를 가진다 ().
- 다음에 재생할 노래는 항상 평점이 가장 높은 노래이다. 평점이 같은 노래가 둘 이상이면 그중 번호가 가장 작은 노래를 고른다.
- 한 노래가 재생되면 그 노래의 평점은 이 되고, 가지고 있던 점수를 나머지 개의 노래에 균등하게 나누어 준다.
- 점수를 균등하게 나눌 수 없으면(즉 로 나누어떨어지지 않으면), 남는 점수를 번호가 앞선 노래부터(, , ... 순서로, 단 방금 재생된 노래는 제외) 한 점씩 나누어 주며, 남는 점수가 모두 사라질 때까지 계속한다.
- 다음 노래가 재생된 뒤에는 갱신된 평점으로 이 과정을 반복한다.
iCow가 재생하는 처음 개의 노래()를 구하여라.
입력
- 첫째 줄: 공백으로 구분된 두 정수 과 .
- 둘째 줄부터 째 줄까지: 째 줄에는 정수 가 하나씩 주어진다.
출력
- 첫째 줄부터 째 줄까지: 째 줄에는 iCow가 재생하는 번째 노래의 번호를 출력한다.