3658: 种树(第一轮04)

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

BLUESKY007 喜欢种树。一天,她得到了一棵n个点的树,其中节点i重量为wi 。 在种树之前, BLUESKY007 需要用起重机把树吊起。由于她只有一台起重机, 所 以她只能选择一个点作为受力点。根据 BLUESKY007 所在世界的物理知识, 吊起 一棵树需要做的功为1 wi  ⋅ disi,其中disi 表示节点i与受力点之间的距离(边 数)。

由于吊起这棵树的费用与所做的功正相关,所以 BLUESKY007 希望所做的功尽可 能小。请你帮助她求出吊起这棵树所做的功的最小值。

输入

第一行包含一个整数n,表示树的点数。 

第二行包含n个整数w1, w2, … , wn   ,其中wi 表示节点i的重量。

接下来的n − 1行中,每行包含两个数u, v,表示u和v两点之间有连边。

输出

一个整数,表示最小做功。

样例输入 复制

4
1 2 3 4
1 2
2 3
3 4

样例输出 复制

8

提示

【样例 1 输入】

4

1 2 3 4

1 2

2 3

3 4

【样例 1 输出】

8

【样例 2 输入】 

4

3 2 1 4

1 2

2 3

3 4

【样例 2 输出】

12

【数据范围】

对于 45%的数据,  n  ≤ 1000。

对于 100%的数据, 2  ≤ n ≤ 2 ⋅ 10^5, 1 ≤ wi   ≤ 10^8, 1 ≤ u, v ≤ n, u ≠ v 。

来源/分类