[BOJ 32859] 그런 사람은 없었습니다
View as PDF오늘도 평화로운 알로하의 정산 시간이 다가왔다. 재무부장 세영이는 $N$명의 회원들에게 돈을 걷어야 한다. 각 회원은 $1$부터 $N$까지 번호가 차례대로 매겨져 있다.</p>
세영이는 올바른 정산을 위하여 회원들에게 입금하기 전에 폼을 제출해 달라고 전달했다. 하지만, 어떤 회원들은 폼만 작성하거나, 입금만 하거나, 입금을 먼저 하고 폼을 제출하기도 했다. 입금한 시점 이후 다른 $S$명이 폼을 제출한 후에도 폼을 제출하지 않은 회원은 폼 제출을 잊었다고 판단한다.
세영이는 폼 제출을 잊은 회원을 모두 찾아 확인 연락을 보내야 한다. 세영이를 도와 폼 제출을 잊은 회원의 번호를 모두 출력하는 프로그램을 작성해 주자. 단, 두 번 이상 폼을 제출하거나 두 번 이상 입금한 회원은 없으며, 폼 제출 또는 입금이 동시에 여러 번 발생하는 경우는 없다.
입력 형식
첫째 줄에 회원의 수 $N$과 일어나는 사건의 수 $M$이 공백으로 구분되어 주어진다. 사건은 폼 제출 또는 입금을 의미한다. $(1\leq N\leq 2\, 000;$ $1\leq M\leq N\times 2)$</p>
둘째 줄에 정수 $S$가 주어진다. $(1\leq S\leq N)$
셋째 줄부터 $M$개의 줄에 걸쳐 각 사건을 설명하는 두 정수 $i$, $t$가 공백으로 구분되어 주어진다. $t=0$이라면 $i$번 회원이 폼을 제출했다는 의미이며, $t=1$이라면 $i$번 회원이 입금했다는 의미이다. 사건은 발생한 순서대로 주어진다. $(1\le i\le N;$ $t\in{0,1} )$
출력 형식
첫째 줄부터 폼 제출을 잊은 회원의 번호를 한 줄에 하나씩 오름차순으로 모두 출력한다.</p>
폼 제출을 잊은 회원이 없다면 첫째 줄에 -1만을 출력한다.
예제 입력 1
5 7
2
1 1
1 0
2 1
3 1
4 0
5 0
3 0
예제 출력 1
2
3
예제 입력 2
7 10
2
1 1
2 0
3 0
1 0
4 1
2 1
6 1
5 0
7 1
4 0
예제 출력 2
1
6
예제 입력 3
5 6
4
2 1
1 1
2 0
3 1
4 1
5 1
예제 출력 3
-1
Comments