Module: 动态图编程


Problem

4 /7


凯门鳄和饺子

Problem

凯曼做了一个不寻常的梦,梦到他在这个城市的一个陌生地方。该区域可以表示为树形图,其中顶点是交叉路口,边是连接这些交叉路口的双向道路。一共有 n 个路口,每个路口都有自己的编号,从 0 到 n-1。

但在这个梦里并不是一切都那么糟糕,因为在编号为 u 和 v 的路口之间的每条路上都有 Cu,v 个饺子!凯门鳄非常喜欢饺子,所以他想尽可能多地吃,但是有一个问题——如果他访问任何一个十字路口超过 k 次,他就会被一个邪恶的饺子怪物攻击。

虽然这是梦,但每条路的饺子只能吃一次,尽管没有什么能阻止你沿着路走几次。开曼也不会停在路上。也就是说,如果他从一个路口开始移动到另一个路口,那么他一定会一直走到下一个路口。

梦的开始,凯门鳄在0号十字路口。帮助他确定在不被邪恶的饺子怪物攻击的情况下,他最多可以吃多少个饺子。

输入:
第一行包含两个整数 n 和 k (3 ≤ n ≤ 105; 1 ≤ k ≤ 105) &mdash ;交叉路口的数量和每个交叉路口的最大访问次数。
接下来的 n - 1 行包含三个整数 u、v 和 Cu,v (0 ≤ u, v ≤ n - 1; 0 ≤ Cu,v< /sub > ≤ 10000),意思是编号为u和v的路口由一条路连接,有Cu,v个饺子。
保证路口和道路形成一棵树。

输出:
打印一个整数——凯门鳄最多能吃多少个饺子。

示例:
  <正文>
解释:
在第一个示例中,您需要按以下顺序访问路口:0, 1, 5, 1, 3, 1, 0, 2, 6,&thinsp ;2,  7, ?2, ?8。那么他一共会吃掉1+2+2+1+3+3+3 = 15个饺子。
请注意,没有路口被访问超过 3 次。
 
输入 输出
9 3
0 1 1
0 2 1
1 3 2
1 4 2
1 5 2
2 6 3
2 7 3
2 8 3
15
9 5
0 1 1
0 2 1
1 3 2
1 4 2
1 5 2
2 6 3
2 7 3
2 8 3
17
11 6
1 0 7932
21 1952
3 2 2227
4 0 9112
5 4 6067
6 0 6786
7 6 3883
8 4 7137
9 1 2796
10 5 6200
54092