만드는 중입니다

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

아쉬움이 남지만

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

요약
각 계곡에서 출발할 때 튀어 오르는 규칙에 따라 도달할 수 있는 계곡의 수를 구합니다.
난이도

어려움10점 중 8점

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

문제

욱제는 자신이 낸 문제 계곡이 넘쳐흘러에 아쉬움이 남아, 백숙 장수가 된 욱제의 미래 삶을 상상하고 있다.

논산 훈련소 깊은 산속 논산골에는 4차산업혁명으로 선물 포장 공장이 망해서, 계곡에서 백숙을 팔며 살다가 훈련병으로 끌려간 욱제가 있다.

논산골에는 NN개의 계단식 계곡이 있고, 이 계곡들은 N−1N - 1개의 물길로 트리 형태로 연결되어 있다. 임의의 두 계곡 사이에는 경로가 하나뿐이다. ii번째 계곡은 해발 HiH_i미터에 있다. 1번 계곡은 수원이며, 모든 물길은 수원에서 멀어지는 방향으로 흐른다.

사격 훈련 도중 욱제는 탄피 NN개를 잃어버렸다. 탄피는 모든 계곡에 하나씩 떨어졌다. 욱제는 점프로 탄피를 찾아 회수하려고 한다.

해발 HaH_a미터인 계곡에서 해발 HbH_b미터인 계곡으로 점프하면(Ha≥HbH_a \ge H_b), 욱제는 HbH_b에서 (Ha−Hb)/2(H_a - H_b) / 2미터만큼 튀어 오른다. 그러면 욱제는 해발 Hb+(Ha−Hb)/2H_b + (H_a - H_b) / 2미터까지 올라가서, Hc≤Hb+(Ha−Hb)/2H_c \le H_b + (H_a - H_b) / 2를 만족하는 계곡으로 이동할 수 있다. 이어서 욱제는 (Hb+(Ha−Hb)/2−Hc)/2(H_b + (H_a - H_b) / 2 - H_c) / 2미터만큼 다시 튀어 오른다. 욱제의 점프는 물길과 같은 방향으로만 이동할 수 있다. 점프 때문에 계곡의 높이가 변하거나 물길의 방향이 바뀌지는 않는다.

a→ba \to b는 욱제가 aa에서 bb로 점프함을 나타내며, aa와 bb는 편의상 두 계곡의 높이를 뜻한다. 8→28 \to 2인 경우 욱제는 (8−2)/2=3(8 - 2) / 2 = 3미터만큼 점프하여 해발 5미터까지 올라간다. 그러면 최대 8→2→58 \to 2 \to 5까지 이동할 수 있다. 8→2→68 \to 2 \to 6, 8→2→78 \to 2 \to 7 등은 불가능하다. 8→2→28 \to 2 \to 2인 경우, 8→28 \to 2를 거쳐 해발 5미터까지 점프한 욱제가 다음 해발 2미터 계곡으로 떨어져서, (5−2)/2=1.5(5 - 2) / 2 = 1.5미터만큼 점프하여 마지막에는 해발 3.5미터가 된다. 위 예제는 8에서 출발하면 모든 계곡에 도달할 수 있음을 보여 준다.

욱제는 자기가 있는 계곡이 어디인지조차 모른다. 각각의 계곡에 욱제가 있다고 가정할 때, 회수할 수 있는 탄피는 몇 개인지 구하라. 단, 욱제는 스스로를 무한히 복제할 수 있으므로, 복제된 욱제들이 각각 다른 길로 가서 탄피를 회수할 수도 있다.

입력

첫째 줄에 계곡의 개수 NN이 주어진다.

둘째 줄에 계곡의 해발 고도 H1,H2,…,HNH_1, H_2, \ldots, H_N이 공백으로 구분되어 주어진다.

셋째 줄부터 N−1N - 1개의 줄에 걸쳐 각 물길이 연결하는 두 계곡의 번호가 공백으로 구분되어 주어진다.

출력

하나의 줄에 NN개의 수를 공백으로 구분하여 출력한다. ii번째 수는 욱제가 ii번째 계곡에 있다고 가정했을 때 회수할 수 있는 탄피의 개수이다.

제한

1≤N≤316,4021 \le N \le 316,402

1≤Hi≤1081 \le H_i \le 10^8 (1≤i≤N1 \le i \le N)

주어지는 물길 N−1N - 1개는 계곡들을 트리 형태로 연결한다.

예제1

  1. 예제 1

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