만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

병원

면접 대비

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

요약
가중치가 있는 트리에서 한 정점을 제거했을 때 생기는 각 부분 트리의 인구 합 중 최댓값이 가장 작은 정점을 찾습니다.
난이도

보통10점 중 4점

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

문제

도시에 루프스(전신홍반성낭창) 유행이 선포되었다. 기존 병원들은 밀려드는 환자를 감당하지 못한다. 행정부는 루프스 전문가 그레고리 하우스를 부르기로 했다. 그러나 이 염세주의자는 기존 병원의 누구와도 함께 일하지 않겠다며 자신만의 새 병원을 요구한다. 도시를 구해야 하므로 요구를 들어주고 새 병원을 짓기로 했다. 이제 병원을 지을 장소를 골라야 한다.

도시는 nn개의 광장으로 이루어져 있고, 일부 광장은 도로로 연결되어 있다. 어떤 광장에서 다른 어떤 광장으로든 가는 길은 단 하나뿐이다. ii번 광장에는 aia_i명의 사람이 살고 있다. 하우스의 병원이 문을 여는 날, 그의 명성을 듣고 모든 사람이 이 병원으로 간다. 병원 입구는 접근 방향마다 하나씩 있고, 각 입구에는 그 방향에서 온 사람들이 줄을 선다. 병원 측은 가장 긴 줄이 가능한 한 짧기를 원한다. 가장 긴 줄이 최대한 짧아지도록 장소를 고르는 것을 도와달라.

입력

첫째 줄에 광장의 개수 nn이 주어진다 (1≤n≤100,0001 \le n \le 100{,}000). 둘째 줄에는 nn개의 정수 aia_i가 주어진다 (1≤ai≤1091 \le a_i \le 10^9). 이는 각 광장의 인구이다. 이어서 n−1n-1개의 줄에 도로로 연결된 두 광장의 번호가 주어진다.

출력

병원을 지을 수 있는 광장의 번호를 하나 출력한다. 답이 여러 개이면 그중 아무거나 출력한다.

예제1

  1. 예제 1

    입력
    5
    3 3 2 5 1
    1 2
    2 3
    2 4
    4 5
    
    예상 출력
    2