#P5583. 道路升级

道路升级

题目描述

每天,农夫John{John}需要经过一些道路去检查牛棚N{N}里面的牛.

农场上有M(1<=M<=50,000){M(1<=M<=50,000)}条双向泥土道路,编号为1..M.{1..M. }道路i{i}连接牛棚P1i{P1_i}P2i(1<=P1i<=N{P2_i (1 <= P1_i <= N}; 1<=P2i<=N).John{1 <= P2_i<= N). John}需要Ti(1<=Ti<=1,000,000){T_i (1 <= T_i <= 1,000,000)}时间单位用道路i{i}P1i{P1_i}走到P2i{P2_i}或者从P2i{P2_i }走到P{P1}i{_i }他想更新一些路经来减少每天花在路上的时间.

具体地说,他想更新K(1<=K<=20){K (1 <= K <= 20)}条路经,将它们所须时间减为0.

帮助FJ{FJ}选择哪些路经需要更新使得从1到N{N}的时间尽量少.

输入格式

第一行: 三个空格分开的数: N,M,{N, M, }K{K }

2..M+1{2..M+1}行: 第i+1{i+1}行有三个空格分开的数:P1i,P2i,{P1_i, P2_i, }Ti{T_i}

输出格式

第一行: 更新最多K条路经后的最短路经长度.

样例

输入样例

4 4 1
1 2 10
2 4 10
1 3 1
3 4 100

输出样例

1

提示

K{K}1{1};

更新道路3>4{3->4}使得从3{3}4{4}的时间由100{100}减少到0{0}

最新最短路经是1>3>4,{1->3->4,}总用时为1单位. N<=10000{N<=10000}