불안정성
시간 제한1.5초메모리 제한1024 MB
루트가 있는 트리에서 간선을 잘라 각 조각이 어떤 k에 대해 k-good이 되게 하고, 조각들의 f(k) 합의 최솟값을 구합니다.
문제
강 건너편 소나무 숲은 한 시간 전만 해도 5월 햇살에 환했지만, 이제는 흐려지고 번져서 사라졌다. 남은 것은 정점이 개인 거대한 나무 한 그루뿐이다. 이 나무는 1번 정점에 단단히 뿌리를 내리고 있다.
119호 방에 있던 이반은 이 나무를 바라보고 있었다. 자세히 보니 각 정점 에 수 가 적혀 있었다. 그때 -좋은 부분트리라는 정의가 떠올랐다. 부분트리가 -좋다는 것은, 부모 와 자식 를 잇는 모든 간선 에 대해 가 성립하고, 부분트리의 모든 정점 에 대해 도 성립한다는 뜻이다. 각 자연수 에 대해 -좋은 나무의 불안정성 가 주어진다.
다시 나무를 보니, 마법의 톱을 오른손에 든 이반이 나무 앞에 떠 있었다. 이반은 몇 개의 가지를 자르기로 했다. 잘라낸 간선을 제거하면 나무가 여러 부분트리로 나뉜다. 이반은 이 부분트리마다 수 를 하나씩 골라, 그 부분트리가 -좋도록 했다. 잘라낼 간선의 집합과 각 부분트리의 를 함께 정한 것을 절단이라고 부른다. 절단의 불안정성은 얻어진 모든 부분트리에 대한 의 합이다. 이반이 절단의 최소 불안정성을 구하도록 도와 달라.
입력
첫 줄에 자연수 이 주어진다. 나무의 정점 개수이다. 둘째 줄에는 개의 정수가 주어지며, 번째 수는 이다 (). 셋째 줄에는 개의 정수가 주어지며, 번째 수는 이다 (). 다음 개의 줄에는 나무의 간선 정보가 주어진다. 번째 줄에는 간선 를 나타내는 두 정수 , 가 주어진다 (, ).
출력
절단의 최소 불안정성을 한 줄에 출력한다.

