아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

편지 최적화

시간 제한2초메모리 제한1024 MB

요약
각 사람에게 최대 처리율 M과 나가는 비율이 주어진 DAG에서, 처리량이 M에 도달해 포화된 사람이 누구인지 판별한다.
난이도

보통10점 중 7점

유형
그래프, 위상 정렬, 시뮬레이션, 그리디
정답자
아직 제출이 없습니다

문제

NN명으로 구성된 Progolympkommittén이 예선 포스터를 넣은 봉투를 모든 학교에 보내려 한다. 작업 속도를 높이기 위해 해야 할 일을 나눴다. 하는 일은 주소 쓰기, 우표 붙이기, 포스터 넣기, 봉투 봉하기 등이다. 한 사람이 봉투 하나를 끝내면 그 봉투는 다른 사람에게 넘어간다. 속도가 기대만큼 나오지 않아서, 누가 더 빠르게 일할 수 있는지 궁금해졌다.

각 사람 pp는 초당 봉투 수로 나타낸 최대 생산 속도 M_pM\_p를 갖는다. I_pI\_p를 사람 pp에게 초당 보내지는 봉투 수, U_pU\_p를 그가 초당 완성하는 봉투 수라 하면 U_p=min⁡(I_p,M_p)U\_p = \min(I\_p, M\_p)이다. 즉 어떤 사람은 처리할 봉투를 더 많이 받아도 초당 M_pM\_p개보다 많이 완성하지 못한다. 각 사람은 자신이 완성한 봉투를 보낼 사람이 몇 명인지도 정해져 있다. 각 사람에게 같은 양을 보낼 필요는 없고, pp가 보내는 봉투의 일정 비율이 사람마다 정해져 있다. 아무도 봉투를 보내지 않아 생산 라인의 시작에 있는 사람은 I_p=∞I\_p = \infty이고 따라서 U_p=M_pU\_p = M\_p이다(가져갈 봉투가 무한히 쌓여 있다). 어떤 사람은 봉투를 전혀 넘기지 않고 완성한 봉투를 옆에 그냥 쌓아 둔다.

U_p=M_pU\_p = M\_p인 사람, 즉 최대 생산 속도로 일하는 사람은 누구인가?

입력

첫째 줄에 정수 1≤N≤1051 \le N \le 10^5가 주어진다. 이는 사람 수이다. 다음 NN개 줄이 사람을 설명한다. ii번째 줄에는 먼저 정수 M_iM\_i, 즉 사람 ii의 최대 생산 속도가 주어진다(1≤M_i≤1051 \le M\_i \le 10^5). 그다음 정수 kk가 오고, 이어서 정수 쌍 jj ww가 kk개 온다. 이는 사람 ii가 자신의 봉투 중 ww퍼센트를 사람 jj에게 보낸다는 뜻이다(1≤w≤1001 \le w \le 100, 1≤j≤N,i≠j1 \le j \le N, i \neq j). 한 줄에서 같은 jj가 두 번 나오지 않으며, k=0k = 0이 아니면 그 줄의 ww의 합은 100100이다.

SS를 모든 kk의 합이라 하자. 0≤S≤1050 \le S \le 10^5이다.

생산 체계는 어떤 사람도 자신이 이미 작업한 편지를 다시 받을 수 없도록 설계되어 있다.

출력

U_p=M_pU\_p = M\_p를 만족하는 모든 ii를 오름차순으로 한 줄에 출력한다.

U_p=M_pU\_p = M\_p이면 여유를 두고 성립한다. 구체적으로 I_p−M_p>10−4I\_p - M\_p > 10^{-4}이다. 반대로 U_p≠M_pU\_p \neq M\_p이면 반대 방향으로 여유가 있다. M_p−I_p>10−4M\_p - I\_p > 10^{-4}이다.

힌트

아래 세 그래프는 세 예제를 나타낸다. 각 사람은 노드로 표현된다. 각 간선에는 보내지는 봉투의 양이 kps, 즉 초당 봉투 수 단위로 적혀 있다.

테스트 그룹 11에서는 예제 11만 나올 수 있고, 테스트 그룹 22에서는 예제 22만, 테스트 그룹 33에서는 예제 33만 나올 수 있다. 테스트 그룹 44와 55에서는 세 예제가 모두 나올 수 있다.

그림 1: 예제 11

그림 2: 예제 22

그림 3: 예제 33

예제3

  1. 예제 1

    입력
    8
    7 0
    10 1 6 100
    8 1 4 100
    9 1 1 100
    11 0
    12 1 5 100
    10 1 3 100
    5 0
    
    예상 출력
    1 2 3 7 8
    
  2. 예제 2

    입력
    10
    16 3 2 50 4 25 6 25
    9 2 9 75 5 25
    2 1 8 100
    5 0
    1 0
    2 2 3 90 7 10
    1 0
    1 0
    5 1 10 100
    6 0
    
    예상 출력
    1 5 6 8 9
    
  3. 예제 3

    입력
    6
    10 3 2 25 3 25 4 50
    1000 1 5 100
    1000 1 5 100
    1000 1 6 100
    1 1 6 100
    1000 0
    
    예상 출력
    1 5