4282 - 树形动态:二叉苹果树(树形背包DP)

通过次数

33

提交次数

72

时间限制 : 1 秒
内存限制 : 128 MB

有一棵二叉苹果树,如果数字有分叉,一定是分两叉,即没有只有一个儿子的节点。这棵树共 N 个节点,标号 1 至 N,树根编号一定为 1。我们用一根树枝两端连接的节点编号描述一根树枝的位置。一棵有四根树枝的苹果树,因为树枝太多了,需要剪枝。但是一些树枝上长有苹果,给定需要保留的树枝数量,求最多能留住多少苹果。

15728721214421.png

 

输入

第一行两个数 N 和 Q ,N 表示树的节点数,Q 表示要保留的树枝数量。

接下来 N−1 行描述树枝信息,每行三个整数,前两个是它连接的节点的编号,第三个数是这根树枝上苹果数量。

输出

输出仅一行,表示最多能留住的苹果的数量。

样例

输入

5 2
1 3 1
1 4 10
2 3 20
3 5 20

输出

21

提示

数据范围与提示:

对于 100% 的数据,1≤Q≤N≤100,N≠1,每根树枝上苹果不超过 30000 个。