#P6670. [清华集训2016] 汽水

[清华集训2016] 汽水

题目描述

牛牛来到了一个盛产汽水的国度旅行。

这个国度的地图上有 nn 个城市,这些城市之间用 n1n−1 条道路连接,任意两个城市之间,都存在一条路径连接。这些城市生产的汽水有许多不同的风味,在经过道路 ii 时,牛牛会喝掉 wiw_i 的汽水。牛牛非常喜欢喝汽水,但过量地饮用汽水是有害健康的,因此,他希望在他旅行的这段时间内,平均每天喝到的汽水的量尽可能地接近给定的一个正整数 kk

同时,牛牛希望他的旅行计划尽可能地有趣,牛牛会先选择一个城市作为起点,然后每天通过一条道路,前往一个没有去过的城市,最终选择在某一个城市结束旅行。

牛牛还要忙着去喝可乐,他希望你帮他设计出一个旅行计划,满足每天 Pk|P−k|PP 为平均每天喝到的汽水量)的值尽量小,请你告诉他这个最小值。

输入格式

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

接下来 n1n−1 行,每行三个正整数 ui,vi,wiu_i,v_i,w_i,表示城市 uiu_i 和城市 viv_i 之间有一条长度为 wiw_i 的道路连接。

同一行相邻的两个整数均用一个空格隔开。

输出格式

一行一个整数,表示答案的最小值的整数部分,即你只要将这个最小值向下取整然后输出即可。

5 21
1 2 9
1 3 27
1 4 3
1 5 12
1

提示

样例解释

在图中,路径 5135\to1\to3 是一条最合适的路线,总计喝到的汽水的量是 27+12=3927+12=39, 平均每天喝到的汽水量是 39÷2=19.539÷2=19.5, 19.521=1.5|19.5−21|=1.5,向下取整后得到 11,因此答案是 11

数据范围

对于 20%20\% 的数据,n1000n≤1000

对于另外 20%20\% 的数据,保证编号为 i(1in1)i(1≤i≤n−1) 的节点和编号为 i+1i+1 的节点之间连接了一条边。

对于另外 20%20\% 的数据,保证数据是以 11 为根的完全二叉树(在完全二叉树中,节点 i(2in)i(2≤i≤n) 和节点 i÷2⌊i÷2⌋ 之间有一条道路)。

对于另外 20%20\% 的数据,保证除节点 11 以外,其他节点和节点 11 之间都有一条道路。

对于 100%100\% 的数据,1n5×1041≤n≤5×10^40wi10130≤w_i≤10^{13}0k10130≤k≤10^{13}