| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 959 | 525 | 437 | 56.680% |
아~파트 아파트! 아~파트 아파트! 몇 층에 살까?
연말을 맞아 아주대학교 소프트웨어학과 알고리즘 동아리 ANSI는 다 같이 모여 아파트 게임을 $T$회 진행하고자 한다. ANSI는 진행자 교선이와 $N$명의 참가자로 구성되어 있다. 각 참가자에게는 1ドル$번부터 $N$번까지 번호가 부여되어 있고, 참가자는 각자의 두 손을 층층이 쌓아 올려 손 아파트를 만들어 준비한다. 밑에서부터 $i$번째 위치에 번호가 $a_i$인 참가자의 손이 자리한다. $j$번째 아파트 게임의 진행 과정은 다음과 같다.
예를 들어, 손이 6ドル$개 있을 때 4ドル$를 부르면 아래에서 4ドル$번째에 손을 둔 참가자가 패배한다. 교선이는 손 아파트를 이루는 손의 총 개수보다 큰 수를 부를 수 있음에 유의하자.
ANSI는 게임의 연속성을 위해, 다음 아파트 게임을 진행할 때 이전 게임이 종료된 상태에서 손 아파트의 위치를 바꾸지 않고 새로운 게임을 시작한다. $T$번의 게임에서 가장 많이 패배하는 참가자는 벌칙을 받아야 하므로, 각 게임마다 패배하는 참가자를 알아내 보자.
첫 번째 줄에 참가자의 수 $N$이 주어진다. $(1 \leq N \leq 40)$
두 번째 줄에 아파트 게임의 횟수 $T$가 주어진다. $(1 \leq T \leq 5,000円)$
세 번째 줄에 손 아파트에서 손의 위치에 대한 2ドルN$개의 수가 공백으로 구분되어 주어진다. $a_i$는 밑에서 $i$번째에 손을 둔 참가자의 번호이다. 모든 참가자의 번호는 각각 두 번씩 등장한다. $(1 \leq a_i \leq N)$
네 번째 줄에 교선이가 부르는 $T$개의 양의 정수 $b_j$가 공백으로 구분되어 주어진다. $b_j$는 $j$번째 게임에서 교선이가 부른 수를 의미한다. $(1 \leq b_j \leq 1,000円)$
첫 번째 게임부터 패배하는 참가자의 번호를 순서대로 공백으로 구분하여 출력한다.
4 2 2 4 4 3 3 1 2 1 3 12
4 1
University > 아주대학교 > 2024 아주대학교 프로그래밍 경시대회 APC Extra B번