H君有一棵大小为 $n$ 的树,由于树是H君种的,所以很高,H君想删掉一些节点,这样它就不那么高了。
H君定义一棵树的H度为:树上所有简单路径中,点数最多的简单路径的点数数量。
他决定删去树上的一些节点,这样原先的树会变成一个包含若干棵树的森林。H君定义一个森林的H度是森林里所有树中H度最大的树的H度值,H君想要最小化删掉节点后的森林的H度。
特殊地,如果所有节点都被删除,H度为 $0$。
由于H君过于疲惫,现在的他删掉树上的每一个节点都要花费一些力气,具体来说H君删掉树上第 $i$ 个节点需要花费 $a_i$ 的力气。H君现在只有 $m$ 的力气,所以H君删掉的节点 $a_i$ 之和不能大于 $m$。
请你帮H君算出他能最小化的森林的H度。
第一行两个数 $n, m$。
第二行 $n$ 个数 $a_i$。
接下来 $n - 1$ 行,每行两个数 $x, y$ ,表示树上的一条边。
数据范围:
$0\leq a_i, m \leq 10^9$。
除了样例以外的 $n$ 都是 $10^5$。
第一行一个数,表示最小化的删完节点后的森林的H度。
6 4 1 1 4 5 1 4 1 2 1 4 3 4 4 5 5 6
2
7 3 1 9 1 9 8 1 0 1 2 2 3 3 4 4 5 5 6 6 7
1 0 0
0
样例解释 1:
可行的最优解: 删除节点 $1, 2, 5$, 花费代价为 $3$, 森林的H度为 $2$。
样例解释 2:
可行的最优解: 删除节点 $1, 3, 6$ 花费代价为 $3$, 森林的H度为 $2$。
样例解释 3:
可行的最优解: 删除节点 $1$ 花费代价为 $0$, 森林的H度为 $0$。