折扣路线(route)

题目描述

DAMON THRONE\text{DAMON THRONE} 的训练队要从城市 SS 前往城市 TT

nn 个城市,mm 条双向道路。第 ii 条道路连接城市 uiu_i 和城市 viv_i,通过这条道路需要花费 wiw_i 点能量。

训练队拥有 KK 张折扣卡。每张折扣卡可以在经过一条道路时使用一次,使这条道路的能量花费变为:

wi2\left\lfloor \frac{w_i}{2} \right\rfloor

每条道路可以多次经过,但每次经过时最多使用一张折扣卡。所有折扣卡总共最多使用 KK 次,也可以不全部使用。

请你求出从城市 SS 到城市 TT 的最小能量花费。

如果无法从 SS 到达 TT,输出 1-1

输入格式

第一行包含五个整数 n,m,K,S,Tn,m,K,S,T,分别表示城市数量、道路数量、折扣卡数量、起点城市和终点城市。

接下来 mm 行,每行包含三个整数 ui,vi,wiu_i,v_i,w_i,表示一条双向道路。

输出格式

输出一行一个整数。

如果可以从 SS 到达 TT,输出最小能量花费;否则输出 1-1

输入输出样例 #1

输入 #1

5 6 1 1 5
1 2 8
2 5 8
1 3 5
3 4 5
4 5 5
2 3 2

输出 #1

11

样例解释 #1

一种最优方案为:

1133,使用折扣卡,花费:

52=2\left\lfloor \frac{5}{2} \right\rfloor=2

然后从 3344,花费 55

再从 4455,花费 55

总花费为:

2+5+5=122+5+5=12

输入输出样例 #2

输入 #2

4 2 2 1 4
1 2 10
2 3 10

输出 #2

-1

数据范围与约定

对于所有测试数据,保证:

$$1 \le n \le 2\times 10^5,\quad 0 \le m \le 2\times 10^5,\quad 0 \le K \le 10,\quad 1 \le S,T \le n,\quad 1 \le w_i \le 10^9 $$1ui,vin,uivi1 \le u_i,v_i \le n,\quad u_i\ne v_i
测试点 分值 nn mm KK 特殊性质
121\sim 2 1010 20\le 20 100\le 100 1\le 1
343\sim 4 2020 2000\le 2000 5000\le 5000 =0=0 A\text{A}
565\sim 6 10\le 10
787\sim 8 105\le 10^5 1\le 1 B\text{B}
9109\sim 10 3030 2×105\le 2\times 10^5 10\le 10

特殊性质 A\text{A}:保证 K=0K=0,即不能使用折扣卡。

特殊性质 B\text{B}:保证 K1K\le1