#2781. 守卫2

守卫2

题目描述

在 P 国有 nn 个村子,以及 n1n-1 条待修建的双向公路,第 ii 条公路连接 ui,viu_i,v_i,修建的代价为 cic_i,保证任意两个村子可以通过一些双向公路互相到达。

已知国王和 kk 个守卫在某个村子 rr,第 ii 个守卫需要到达某个村子 xix_i

国王会选择代价之和尽可能少的一些公路进行修建,使得每个守卫可以从 rr 出发经过这些公路到达目的地。

对于每个 r[1,n]r\in[1,n],求在所有选择 xi[1,n]x_i\in[1,n] 的情况下,国王修建公路所需代价之和的最大值。

输入格式

第一行,两个正整数 n,kn,k

之后 n1n-1 行,每行两个正整数 ui,viu_i,v_i 和一个非负整数 cic_i

输出格式

nn 行,第 rr 行一个非负整数,表示对应的答案。

样例

11 3
1 2 5
2 3 3
2 6 5
3 4 4
3 5 2
1 7 6
7 8 4
7 9 5
1 10 1
10 11 1
28
28
28
32
30
32
28
32
32
29
30

explanation

图论可视化工具:https://csacademy.com/app/graph_editor/

例如对于 r=1r=1 的情况,当 x1=4x_1=4x2=6x_2=6x3=9x_3=9 时国王需要修建代价之和为 2828 的公路,且可以证明不会有代价更大的情况。

样例二

见附件,该样例符合子任务 44 的限制。

数据范围与提示

对于所有数据,1kn1051\le k\le n\le 10^50ci1090\le c_i\le 10^9

子任务编号 特殊限制 分值
11 n18n\le 18 88
22 n200n\le 200k20k\le 20 1111
33 n1000n\le 1000k100k\le 100 1717
44 n2000n\le 2000 2020
55 k=1k=1 1212
66 3232