问题 5203 --做月饼

5203: 做月饼★★★★

时间限制: 2 Sec  内存限制: 256 MB
提交: 46  解决: 26
[提交][状态][命题人:]

题目描述

中秋节到了,小明要去各家商铺购买原材料制作月饼。
小明所在的小镇可以表示为 n 个点 n-1 条边的连通图,每个节点代表一家商铺,每条边代表连接两个商铺的一段街道。第 i 家商铺能够提供 a[i] 份月饼原材料。

为了提高效率,小明从遥远的隔壁村学习了影分身之术,可以幻化出多个影分身同时去不同商铺购买月饼。但是小明的技术没有学得特别熟练,导致过于靠近的影分身之间会相互干扰。因此任意两个影分身之间的沿着街道的距离,都必须大于 k 段街道。

在满足距离限制的情况下,小明可以派任意数量的影分身同时去各家商铺购买原材料,且每家商铺只能接待一个影分身,一个影分身只会停留在一家商铺购买,求小明同一时刻最多可以购买到多少月饼原材料。

输入

第一行输入两个整数 n,k (1≤n,k≤200) 。
第二行输入 n 个整数 a[1],a[2],a[3],...,a[n] (1≤a[i]≤100 000) 表示各家商铺能够提供的月饼原材料数。
接下来 n-1 行,每行输入两个整数 u,v (1≤u,v≤n, u≠v) ,表示有一段街道连接第 u 家和第 v 家商铺。

输出

输出一个整数,表示最多可以购买到的月饼原材料数。

样例输入
Copy
样例1:
5 1
1 2 3 4 5
1 2
2 3
3 4
3 5

样例2:
7 2
2 1 2 1 2 1 1
6 4
1 5
3 1
2 3
7 5
7 4
样例输出
Copy
样例1:
11

样例2:
4

提示

来源

[提交][状态]