투스타 춘배
시간 제한1초메모리 제한1024 MB
나무 모양으로 연결된 산 N개와 현재 높이, 목표 높이가 주어질 때, 병사들이 흙을 옮겨 모든 산을 목표 높이로 맞추는 최소 비용을 구합니다.
문제

춘배 나라에는 부터 까지 번호가 붙은 산 개와, 두 산 사이를 이동할 수 있는 길 개가 있다. 임의의 두 산 사이는 항상 길을 통해 이동할 수 있다. 산을 정점, 길을 간선으로 보면 춘배 나라는 트리 형태이다.
춘배는 꿈에서 사단장이 되었다. 번 산에는 병사가 명인 부대가 있다. 춘배는 첫 번째 지시로 번 산의 부대에게 나라의 모든 산의 높이 를 춘배가 원하는 높이 로 바꾸라고 명령하였다. 원래 산의 높이와 춘배가 원하는 높이는 모두 양의 정수이다.
고양이 병사가 할 수 있는 작업은 다음과 같다.
- 산의 높이를 만큼 깎는다. 이 작업을 수행한 병사는 흙을 만큼 얻는다.
- 병사가 가진 흙 를 소비해 산의 높이를 만큼 늘린다. 가진 흙이 보다 적으면 이 작업을 할 수 없다.
- 흙을 만큼 구매한다. 구매한 병사는 흙을 만큼 얻고, 춘배는 원을 소비한다.
- 길을 통해 연결된 다른 산으로 이동한다. 그 병사가 이미 지나온 길이면 이동할 수 없다.
각 병사는 작업을 원하는 만큼 할 수 있다. 처음에 모든 병사는 흙을 만큼 가지고 있으며, 흙을 양도할 수 없다.
춘배 나라의 각 부대의 병사 인원은 명이고, 부대의 병사들은 서로 다른 길로 이동할 수 있다. 각 병사가 작업을 적절히 하여 모든 산을 춘배가 원하는 높이로 완성할 때, 춘배가 소비하는 돈의 최솟값을 출력하라.
입력
첫째 줄에 산의 개수 과 춘배가 고른 산(부대)의 번호 가 공백으로 구분되어 주어진다.
둘째 줄에 원래 산의 높이 이 공백으로 구분되어 주어진다.
셋째 줄에 춘배가 원하는 산의 높이 이 공백으로 구분되어 주어진다.
넷째 줄부터 개의 줄에 걸쳐 산과 산을 잇는 길의 정보 , 가 공백으로 구분되어 주어진다. 번 산과 번 산을 잇는 길이라는 뜻이다.
출력
춘배가 소비하는 돈의 최솟값을 출력한다.