시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB246755829.442%

문제

내 친구 용감한 쿠키가 고민에 빠졌다고 한다. 용감한 쿠키는 요즘 쿠키런 킹덤이라는 게임을 하는데, 이 게임에서는 $1, 2, \cdots, N$의 번호로 구분되는 $N$가지 종류의 자원 중 일부를 이용하여 건물을 짓는다. 자원은 이미 지어진 건물을 통하여 비용을 들이지 않고 무제한으로 만들 수 있으며, 각 자원을 만들 수 있는 건물은 정해져 있다. 자원을 만드는 데에는 $0$초가 걸리고, 건물을 짓는 데에는 $1$초가 걸리며, 동시에 여러 개의 자원을 만들거나 건물을 지을 수 있다. 그리고 각 건물로부터 필요한 자원과 생산할 수 있는 자원의 최대 가짓수는 $N$과 $30$ 중 작은 값(= $\text{min}(N, 30)$) 이다. 

용감한 쿠키는 현재 지어진 건물로 정해진 시간 안에 건설할 수 있는 건물이 무엇이 있는지 궁금하다며 빨리 알고 싶다고 한다. 하지만 용감한 쿠키는 너무 바빠서 구할 수가 없다고 한다. 내 친구인 용감한 쿠키를 얼른 도와주자. 단, 이미 지어진 건물도 정해진 시간 안에 건설할 수 있는 건물로 간주한다.

입력

첫 번째 줄에 자원의 가짓수 $N$과 이미 지어진 건물의 개수 $M$, 제한 시간 $T$가 주어진다. 건물의 가짓수는 자원의 가짓수와 같은 $N$이다. 건물과 자원 모두 $1$부터 $N$까지의 번호가 붙는다. 

  • $1 \leq N \leq 100,000$
  • $1 \leq M \leq N$
  • $0 \leq T \leq N$

두 번째 줄에는 서로 다른 $M$개의 번호가 주어지며, 이는 이미 지어진 건물의 번호이다.

이후 $N$개의 줄에 건물마다 생산할 수 있는 자원의 가짓수와 그 자원 번호가 공백으로 나뉘어서 주어진다.

그 이후 $N - M$개의 줄에는 아직 지어지지 않은 건물의 번호와 건물마다 필요로 하는 자원의 가짓수, 그 자원의 번호가 공백으로 나뉘어서 주어진다.

이때, 각 건물에서 생산되는 자원과 건물을 지을 때 필요한 자원의 가짓수는 $1$ 이상이다. 

각 건물로부터 필요한 자원과 생산할 수 있는 자원의 최대 가짓수는 $N$과 $30$을 넘지 않는다. 즉, $\text{min}(N, 30)$ 이하이다. 

출력

첫 번째 줄에는 $T$초 내에 지을 수 있는 건물의 개수를 출력하고, 두 번째 줄에는 제한 시간 내에 지을 수 있는 모든 건물의 번호를 공백으로 구분하여 오름차순으로 출력한다.

예제 입력 1

6 2 2
1 3
1 1
1 2
1 3
1 4
1 5
1 6
2 2 1 3
4 3 2 3 5
5 3 1 2 6
6 2 4 5

예제 출력 1

3
1 2 3

출처

University > 경북대학교 > 2021 Goricon F번