만드는 중입니다

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

투스타 춘배

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

요약
나무 모양으로 연결된 산 N개와 현재 높이, 목표 높이가 주어질 때, 병사들이 흙을 옮겨 모든 산을 목표 높이로 맞추는 최소 비용을 구합니다.
난이도

보통10점 중 7점

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

문제

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

춘배는 꿈에서 사단장이 되었다. PP번 산에는 병사가 NN명인 부대가 있다. 춘배는 첫 번째 지시로 PP번 산의 부대에게 나라의 모든 산의 높이 AiA_i를 춘배가 원하는 높이 BiB_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)

둘째 줄에 원래 산의 높이 A1,A2,…,ANA_1, A_2, \ldots, A_N이 공백으로 구분되어 주어진다. (1≤Ai≤103)(1 \le A_i \le 10^3)

셋째 줄에 춘배가 원하는 산의 높이 B1,B2,…,BNB_1, B_2, \ldots, B_N이 공백으로 구분되어 주어진다. (1≤Bi≤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