교통 혼잡

시간 제한3초메모리 제한256 MB

요약
아레나 도시에서 모든 팬이 각자 도시로 이동할 때 가장 붐비는 도로의 팬 수를 최소화하는 도시를 고합니다.
난이도

보통10점 중 4점

유형
트리, DFS
정답자
아직 제출이 없습니다

문제

캐나다는 국토가 넓지만 사람이 살지 않는 지역이 많고, 인구는 대부분 남쪽 국경 근처에 모여 산다. 1962년에 완공된 대륙 횡단 고속도로는 동쪽 끝 세인트존스에서 서쪽 끝 빅토리아까지 7,821 km를 이으며, 이 좁고 긴 땅에 사는 사람들을 연결한다.

캐나다 사람은 하키를 좋아한다. 경기가 끝나면 수천 명의 팬이 차를 타고 집으로 돌아가서 도로가 크게 막힌다. 한 사업가가 하키 팀을 사고 새 경기장을 지으려고 한다. 경기가 끝난 뒤의 교통 혼잡이 가장 작아지도록 경기장을 지을 도시를 골라야 한다.

나라는 도시와 도시를 잇는 도로로 이루어진다. 도로는 모두 양방향이고, 서로 다른 두 도시를 잇는 경로는 정확히 하나뿐이다. 도시 c0c_0과 ckc_k를 잇는 경로란 서로 다른 도시를 나열한 c0,…,ckc_0, \dots, c_k이며, 모든 ii에 대해 ci−1c_{i-1}과 cic_i 사이에 도로가 있다. 경기장은 도시 하나에 짓고, 그 도시를 경기장 도시라고 부른다. 경기가 끝나면 경기장 도시에 사는 팬을 뺀 나머지 팬이 모두 경기장 도시에서 자기 도시로 이동한다. 각 도로가 얼마나 막히는지는 그 도로를 지나는 팬 수에 비례한다. 가장 많이 막히는 도로를 지나는 팬 수가 최소가 되도록 경기장 도시를 정해야 한다.

입력

첫째 줄에 도시의 수 NN이 주어진다. 도시 번호는 00부터 N−1N-1까지이다.

둘째 줄에 NN개의 정수 P0,…,PN−1P_0, \dots, P_{N-1}이 주어진다. PiP_i는 ii번 도시에 사는 하키 팬 수이다.

이어지는 N−1N-1개의 줄에는 도로를 나타내는 두 정수 SS와 DD가 주어진다. SS번 도시와 DD번 도시를 잇는 도로가 있다는 뜻이다.

출력

경기장 도시의 번호를 한 줄에 출력한다. 가장 많이 막히는 도로의 팬 수를 똑같이 최소로 만드는 도시가 여러 개이면, 그중 번호가 가장 작은 도시를 출력한다.

제한

  • 1≤N≤200 0001 \le N \le 200\,000
  • 1≤Pi1 \le P_i
  • P0+⋯+PN−1≤2 000 000 000P_0 + \dots + P_{N-1} \le 2\,000\,000\,000
  • 주어지는 N−1N-1개의 도로는 모든 도시를 연결하고, 서로 다른 두 도시를 잇는 경로는 하나뿐이다.

힌트

경기장 도시를 빼면 나라는 여러 덩어리로 나뉜다. 경기장 도시에서 어느 덩어리로 나가는 도로가 감당하는 팬 수는 그 덩어리에 사는 팬 수와 같다.

예제7

  1. 예제 1

    입력
    6
    1 2 3 4 5 6
    0 1
    1 2
    1 3
    3 4
    3 5
    
    예상 출력
    3
    
  2. 예제 2

    입력
    4
    1 1 1 1
    0 1
    1 2
    2 3
    
    예상 출력
    1
    
  3. 예제 3

    입력
    1
    7
    
    예상 출력
    0
    
  4. 예제 4

    입력
    2
    5 9
    1 0
    
    예상 출력
    1
    
  5. 예제 5

    입력
    5
    1 100 100 100 100
    0 1
    0 2
    0 3
    0 4
    
    예상 출력
    0
    
  6. 예제 6

    입력
    5
    1 1 1 1 1000
    0 1
    1 2
    2 3
    3 4
    
    예상 출력
    4
    
  7. 예제 7

    입력
    7
    3 1 4 1 5 9 2
    0 1
    1 2
    2 3
    3 4
    4 5
    5 6
    
    예상 출력
    4