ρars/ey

题目描述

给定一颗有 $n$ 个节点的有根树,其中根节点是 $1$。你可以进行若干次以下操作: - 选择一个节点,删去其子树内除其以外的点。 此操作的代价为 $f_i$,其中 $i$ 是你选择的节点子树大小。 你希望删掉除了 $1$ 以外的所有点,请问代价的最小值是多少?

输入输出格式

输入格式


第一行一个正整数 $n$。 第二行 $n-1$ 个正整数,第 $i$ 个表示 $f_{i+1}$。 接下来 $n-1$ 行,每行两个正整数,表示一条树边。

输出格式


一行一个正整数表示答案。

输入输出样例

输入样例 #1

8
11000 18640 32793 36187 45104 64932 66425 
6 8
3 6
3 7
1 8
1 4
3 5
2 7

输出样例 #1

63744

说明

【样例解释】 先删除节点 $8$ 的子树内除了它自身的 $5$ 个点,再删除节点 $1$ 的子树内除了它自身的 $2$ 个点,代价为 $f_6+f_3=63744$。可以证明这是最小的代价。 【数据范围】 对于所有数据,保证 $1\le n\le 5000$,$1\le f_i\le 10^9$。 $$ \def{\arraystretch}{1.5} \begin{array}{c|c|c}\hline \textbf{测试点编号}&\bm{~~~~~~~~n\le~~~~~~~~}&~~~~\textbf{特殊限制}~~~~\cr\hline \textsf1\sim \sf2 & 8& \cr\hline \sf3\sim 6 & 15& \cr\hline \sf7\sim 8 & 400&\textsf{A}\cr\hline \textsf9 & 400 &\sf B\cr\hline \sf10\sim 12 & 400&\cr\hline \sf13\sim 14 & &\sf C\cr\hline \sf15\sim 20 & &\cr\hline \end{array} $$ $\textsf A$:保证树上所有点度数均小于等于 $2$,其中 $1$ 号点度数为 $1$。 $\textsf B$:保证树上只有 $1$ 号点度数大于等于 $2$。 $\textsf C$:保证树随机生成,随机生成方式是,对于 $i\ge 2$,从 $[1,i-1]$ 中随机一个整数 $x$,在 $x$ 与 $i$ 之间连边。然后随机打乱所有节点的编号。