杀树
题号:NC205037
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛学习了树。

给出一棵节点数为 n 的树,删去一个点 i 的代价为 a_i,一条链的长度定义为路径上  的个数。一棵树死了,满足不存在一条长度 的链,牛牛希望用最少代价杀死这棵树。

输入描述:

第一行给出 n,l

第二行给出 n 个整数分别代表 a_i

接下来 n-1 行,每行给出 u,v 表示有一条 u 到 v 的边。

输出描述:

输出一个整数,表示最小的代价。
示例1

输入

复制
5 2
1 2 3 4 2
1 3
2 3
3 4
4 5

输出

复制
5

备注:

对于  的数据有 

对于 的数据有

对于 的数据有