CF1088F.Ehab and a weird weight formula
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You're given a tree consisting of n nodes. Every node u has a weight au . It is guaranteed that there is only one node with minimum weight in the tree. For every node u (except for the node with the minimum weight), it must have a neighbor v such that av<au . You should construct a tree to minimize the weight w calculated as follows:
- For every node u , degu⋅au is added to w ( degu is the number of edges containing node u ).
- For every edge {u,v} , ⌈log2(dist(u,v))⌉⋅min(au,av) is added to w , where dist(u,v) is the number of edges in the path from u to v in the given tree.
输入格式
The first line contains the integer n (2≤n≤5⋅105) , the number of nodes in the tree.
The second line contains n space-separated integers a1,a2,…,an (1≤ai≤109) , the weights of the nodes.
The next n−1 lines, each contains 2 space-separated integers u and v (1≤u,v≤n) which means there's an edge between u and v .
输出格式
Output one integer, the minimum possible value for w .
输入输出样例
输入#1
3 1 2 3 1 2 1 3
输出#1
7
输入#2
5 4 5 3 7 8 1 2 1 3 3 4 4 5
输出#2
40
说明/提示
In the first sample, the tree itself minimizes the value of w .
In the second sample, the optimal tree is: