최소 트리 분할

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

정점이 NN개인 트리가 주어진다. 정점에는 11부터 NN까지 번호가 붙어있다. 각 정점에는 가중치가 존재하는데, 초기에 모든 가중치는 00이다.

당신은 다음 연산을 트리에 반복하여 11 이상 NN 이하의 모든 ii에 대해 정점 ii의 가중치가 A_iA\_i가 되도록 만들고 싶다.

  • 연산: 주어진 트리의 임의의 부분 연결 그래프에 대하여, 그 그래프에 포함되는 정점의 가중치를 11씩 증가시킨다.

11 이상 NN 이하의 모든 ii에 대해 정점 ii의 가중치가 A_iA\_i가 되도록 하는 최소 연산 횟수를 구하라.

입력

첫 번째 줄에 정점의 개수를 나타내는 NN이 주어진다. (2N100,0002 \leq N \leq 100\\,000)

두 번째 줄에 목표 가중치 A_1,A_2,,A_NA\_1, A\_2, \dots, A\_N이 공백에 구분되어 주어진다. (0A_i1090 \leq A\_i \leq 10^9)

세 번째 줄부터 (N1)(N - 1)개의 줄에 걸쳐 간선의 정보 u_iu\_i v_iv\_i가 주어지며, 이는 u_iu\_i번 정점과 v_iv\_i번 정점 사이에 간선이 있다는 뜻이다. (1u_i,v_iN1 \leq u\_i, v\_i \leq N)

출력

최소 연산 횟수를 출력하라.