9663 - 树的双中心

给定一棵树 T=(V,E),其中 V 为节点集合,E 为边集合。

对于 V 中的每个节点 v,有一个权值函数 W(v),该函数的值均为正整数。

d(u,v) 为节点 uv 之间的距离,表示它们之间唯一的一条路径的边数。若 uv 为同一个节点,则 d(u,v)=0

你的任务是找出两个不同的节点 xy,使得以下表达式 S(x,y) 的值最小

输入

第一行为 N\;(1,表示树的节点数目,树的节点从 1N 编号。

接下来 N-1 行,每行两个整数 U,V,表示 UV 之间有一条边。

再接下 N 行,每行一个正整数,其中第i行的正整数表示编号为 i 的节点权值为 W(i)

保证树的深度不超过 100

输出

将最小的 S(x,y) 输出,结果保证不超过 10^9

样例

输入

5
1 2
1 3
3 4
3 5
5
7
6
5
4

输出

14

提示

样例中,选取的两个中心节点分别为 23

来源

四川省选

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题