투스타 춘배

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

요약
병사들이 P번 산에서 시작해 단순 경로로만 이동하며 산 높이를 맞출 때, 흙을 사는 데 드는 돈의 최솟값을 구한다.
난이도

보통10점 중 7점

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

문제

춘배 나라에는 11부터 NN까지의 번호가 붙은 NN개의 산, 그리고 두 산 사이를 이동할 수 있는 N−1N-1개의 길이 있다. 게다가 임의의 두 산 사이를 항상 길을 통해 이동할 수 있다고 한다. 즉, 산을 정점, 길을 간선으로 생각하면 춘배 나라는 트리 형태이다.

춘배는 꿈에서 사단장이 되었다. PP번 산에는 병사가 NN명인 부대가 있다. 춘배의 첫 번째 지시로 PP번 산에 있는 부대에 지시를 내려, 나라에 있는 모든 산의 높이(A_i)(A\_i)를 자신이 원하는 산의 높이(B_i)(B\_i)로 바꾸어 달라고 하였다. 단, 모든 원래 산의 높이와 춘배가 원하는 산의 높이는 항상 양의 정수이다.

고양이 병사가 할 수 있는 작업은 아래와 같다.

  1. 산의 높이를 XX만큼 깎는다. 이 작업을 수행할 시 작업을 수행한 병사는 흙을 XX만큼 얻게 된다.
  2. 작업을 하는 병사가 소유한 흙을 XX만큼 소비해 산의 높이를 XX만큼 늘린다. 보유한 흙이 XX보다 적을 때에는 작업을 할 수 없다.
  3. 흙을 XX만큼 구매하여 구매한 병사는 흙을 XX만큼 얻게 된다. 이 경우 춘배는 XX원을 소비하게 된다.
  4. 길을 통해 연결된 다른 산으로 이동한다. 만약 길이 자신이 이미 지나왔던 길이라면, 이동할 수 없다.

각 병사는 작업을 원하는 만큼 할 수 있다. 초기에 모든 병사는 흙을 00만큼 가지고 있고 흙을 양도 할 수 없다.

춘배 나라의 각 부대의 병사 인원은 NN명이고 부대의 병사들은 서로 다른 길로 이동할 수 있다. 각 병사가 작업을 적절히 하여 모든 산을 춘배가 원하는 높이로 완성 시킬 때 춘배가 소비하는 돈의 최솟값을 출력하라.

입력

첫째 줄에 산의 개수 NN과 춘배가 고른 산(부대)의 번호 PP가 공백으로 구분되어 주어진다. (1≤P≤N≤100,000)(1 \le P \le N \le 100\\,000)

둘째 줄에 원래 산의 높이 A_1,A_2,…,A_NA\_1,A\_2, \ldots , A\_N이 공백으로 구분되어 주어진다. (1≤A_i≤103)(1 \le A\_i \le 10^3)

셋째 줄에 춘배가 원하는 산의 높이 B_1,B_2,⋯ ,B_NB\_1,B\_2, \cdots , B\_N이 공백으로 구분되어 주어진다. (1≤B_i≤103)(1 \le B\_i \le 10^3)

네 번째 줄부터 N−1N-1개의 줄에 걸쳐 산과 산을 잇는 길의 정보 uu, vv가 공백으로 구분되어 주어진다. uu번 산과 vv번 산을 잇는 길이라는 뜻이다. (1≤u,v≤N)(1 \le u, v \le N)

출력

춘배가 소비하는 돈의 최솟값을 출력한다.

예제1

  1. 예제 1

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