투스타 춘배
시간 제한1초메모리 제한1024 MB
병사들이 P번 산에서 시작해 단순 경로로만 이동하며 산 높이를 맞출 때, 흙을 사는 데 드는 돈의 최솟값을 구한다.
문제

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