[HAOI2015]树上染色
题号:NC19996
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

有一棵点数为N的树,树边有边权。给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并将其他的N-K个点染成白色。
将所有点染色后,你会获得黑点两两之间的距离加上白点两两之间距离的和的收益。问收益最大值是多少。

输入描述:

第一行两个整数N,K。
接下来N-1行每行三个正整数fr,to,dis,表示该树中存在一条长度为dis的边(fr,to)。
输入保证所有点之间是联通的。N ≤ 2000,0 ≤ K ≤ N

输出描述:

输出一个正整数,表示收益的最大值。
示例1

输入

复制
5 2
1 2 3
1 5 1
2 3 1
2 4 2

输出

复制
17

说明

【样例解释】
将点1,2染黑就能获得最大收益。

备注:

对于100% 的数据,