택배 상하차는 힘들어

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

요약
트리와 각 도시별 택배 개수가 주어질 때, 1번 도시에서 모든 택배를 배송하는 데 필요한 상차와 하차 횟수 합의 최솟값을 구한다.
난이도

어려움10점 중 8점

유형
트리, DFS, 그리디, 동적 계획법
정답자
아직 제출이 없습니다

문제

푸앙국에는 NN개의 도시와 N−1N-1개의 도로가 있고, 각 도로는 두 개의 도시를 연결하고 있다. 도시는 11번부터 NN번까지 번호가 매겨져 있고, 각 도시에서는 도로를 이용하여 다른 모든 도시로 이동할 수 있다. 우리는 푸앙국에서 도로와 도로를 지나갈 수 있는 트럭을 이용해 NN개의 도시에 모두 택배를 배송해야 한다.

  1. 각 도시에는 택배를 하나도 넣지 않은 충분한 수의 트럭이 대기하고 있으며, 한 도시에서 트럭에 원하는 만큼 그 도시에 놓인 택배를 넣거나(상차) 트럭에 넣었던 택배를 꺼낼(하차) 수 있다.
  2. 택배 11개를 트럭에 넣을 때마다 상차 횟수가 11 증가하며, 택배 11개를 트럭에서 꺼낼 때마다 하차 횟수가 11 증가한다.
  3. 푸앙국의 모든 트럭은 구조가 특별해 택배를 넣었던 순서의 반대 순서로만 꺼낼 수 있다.
  4. 택배가 목적지에 놓이면 그 택배는 배송이 완료된다.
  5. 트럭은 두 도시를 연결하는 도로를 지나갈 수 있지만 여러 대의 트럭이 한 도로를 지나갈 수 없으며, 어떤 트럭에 의해 한 번이라도 사용된 도로는 다시 사용할 수 없다.
  6. 어떤 도시에서 하차한 택배를 다른 트럭에 상차하는 경우 넣는 순서를 재조정할 수 있다.

처음에는 모든 택배가 11번 도시에 놓여 있다. 목적지가 11번 도시인 택배는 이미 배송이 완료된 상태임에 유의해야 한다.

모든 택배를 목적지에 보낼 때 필요한 상차 횟수와 하차 횟수의 합의 최솟값을 출력하자.

입력

첫 번째 줄에 도시의 개수 NN이 주어진다.

두 번째 줄에 정수 a_1,a_2,⋯ ,a_Na\_1, a\_2, \cdots, a\_N이 공백으로 구분되어 주어진다. a_ia\_i는 ii번 도시를 목적지로 하는 택배의 개수이다.

그다음 줄부터 N−1N-1개의 줄에 걸쳐 두 개의 도시를 연결하는 도로 정보 i,ji, j가 한 줄에 하나씩 주어진다. 이는 ii번 도시와 jj번 도시가 도로로 연결되어 있다는 의미이다.

출력

첫 번째 줄에 모든 택배의 배송을 완료한 후 필요한 상차 및 하차 작업의 횟수의 합의 최솟값을 출력한다.

제한

  • 2≤N≤100,0002 \le N \le 100\\,000
  • 1≤a_i≤1,000,0001 \le a\_i \le 1\\,000\\,000
  • 1≤i<j≤N1 \le i < j \le N

예제1

  1. 예제 1

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