[BOJ 32859] 그런 사람은 없었습니다

View as PDF

Submit solution

Points: 2
Time limit: 1.0s
Memory limit: 1G

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

오늘도 평화로운 알로하의 정산 시간이 다가왔다. 재무부장 세영이는 $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

There are no comments at the moment.