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

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

가장 키가 큰 소

면접 대비

시간 제한1초메모리 제한128 MB

요약
가장 큰 소의 키와 위치, 그리고 소 a가 소 b를 본다는 정보가 주어질 때, 모든 정보를 만족하는 각 소의 최대 키를 구한다.
난이도

보통10점 중 5점

유형
그리디, 누적 합, 해시맵, 구현
정답자
아직 제출이 없습니다

문제

농부 존의 소 NN마리(1≤N≤100001 \le N \le 10000)가 11번부터 NN번까지 번호를 달고 한 줄로 서 있습니다. 각 소의 키는 양의 정수이지만 대부분은 비밀입니다. 알려진 것은 가장 키가 큰 소의 키 HH(1≤H≤10000001 \le H \le 1000000)와 그 소의 번호 II뿐입니다.

또한 "aa번 소가 bb번 소를 본다" 형태의 정보가 RR개(0≤R≤100000 \le R \le 10000) 주어집니다. 이는 bb번 소의 키가 aa번 소보다 크거나 같고, aa번과 bb번 사이에 있는 모든 소의 키가 aa번 소보다 엄밀히 작다는 뜻입니다.

주어진 모든 정보가 그대로 성립하도록 할 때, 11번부터 NN번까지 각 소가 가질 수 있는 최대 키를 구하세요. 모든 조건을 동시에 만족시키는 경우가 항상 존재함이 보장됩니다.

입력

  • 첫째 줄: 공백으로 구분된 네 정수 NN, II, HH, RR.
  • 둘째 줄부터 RR개의 줄: 공백으로 구분된 서로 다른 두 정수 AA와 BB(1≤A,B≤N1 \le A, B \le N). AA번 소가 BB번 소를 본다는 뜻입니다.

출력

  • NN개의 줄을 출력합니다. ii번째 줄에는 ii번 소가 가질 수 있는 최대 키를 출력합니다.

예제1

  1. 예제 1

    입력
    9 3 5 5
    1 3
    5 3
    4 3
    3 7
    9 8
    
    예상 출력
    5
    4
    5
    3
    4
    4
    5
    5
    5