#joi2015hoc. [joi2015ho_c]JOI 公園 (JOI Park)
[joi2015ho_c]JOI 公園 (JOI Park)
「JOI 2014/2015 决赛」JOI 公园
译自 JOI 2014/2015 决赛 T3「JOI 公園」
题目描述
时值 年, IOI 国为了给办奥赛做准备,将要修缮 IOI 国中的 JOI 公园。 JOI 公园里有 个广场,这些广场从 到 编号。有 条道路连接各个广场,这些道路从 到 编号。第 条道路是一条连接第 和第 个广场的双向边,长度为 。任意两个广场间一定有道路(直接或间接)相连。
修缮计划如下:首先,选择一个自然数 ,将和第一个广场距离等于 或在 以下的所有广场(含第一个广场)相互之间连结一条地下通道。广场 和广场 的距离指,从广场 到广场 经过的道路长度总和的最小值。定义 为一个与修筑地下通道花费有关的量( 是整数)。修筑所有地下通道的花费为 。
接下来,撤去已经通过地下通道连接的广场之间的道路。撤去道路的花费不计。
最后,将没有被撤去的道路进行修补,长为 的道路修补的花费为 。
修缮计划实施之前, JOI 公园没有地下通道。请求出 JOI 公园修缮花费总和的最小值。
任务
给出 JOI 公园的广场间道路的情况和 的值,请编写程序求出修缮 JOI 公园的花费总和的最小值。
输入格式
输入标准如下:
- 第一行为三个以空格分开的整数 ,分别表示广场共有 个,道路有 条,而 为与修筑地下通道花费有关的量;
- 接下来 行中的第 行 为三个以空格分开的整数 。表示第 条道路连接广场 和广场 ,其长度为 。
输出格式
输出一行一个整数:修缮 JOI 公园的花费总和的最小值。
样例
输入样例 1
5 5 2
2 3 1
3 1 2
2 4 3
1 2 4
2 5 5
输出样例 1
14
样例说明 1
对于输入样例 , 也就是说,和广场 的距离在 或以下的广场(广场 ,广场 ,广场 )互相之间连接一条地下通道。修缮总花费为 。这就是最小值。
输入样例 2
5 4 10
1 2 3
2 3 4
3 4 3
4 5 5
输出样例 2
15
样例说明 2
对于输入样例 , 时修缮总花费最小。
输入样例 3
6 5 2
1 2 2
1 3 4
1 4 3
1 5 1
1 6 5
输出样例 3
10
样例说明 3
对于输入样例 , 时所有广场相互间都会连接一条地下通道,此时修缮的花费最小。
数据范围
对于 的分值:
对于另 的分值:
对于 的分值,所以输入数据满足以下条件:
- 而且
- 输入数据保证任意两个广场之间一定有道路连接(直接或间接)。
感谢@ミク 提供的翻译