时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
小蓝想要从

号城市去往

号城市
, 城市之间有

条双向线路,对于第

条线路,连接

,

并且需要一个

的车费 ,小蓝会在白天逗留,夜晚出发去下一座城, 所以他每天只会乘坐一次汽车,移动一个城市,并且在第二天早上的同一时间到达另一个城市。现在进入城市需要

小时内核酸检测报告, 小蓝在

号城市不需要做核酸,他只会在进站时补做核酸,所以进入第

个城市时他需要补做核酸 。所有城市的核酸检测费用均为
,小蓝想让你计算一下到达

号城市的最小花费是多少。
输入描述:
接下来m行每行三个整数

,

,
)
,表示城市

与城市

之间有一条车票费用为

的汽车线路。
输出描述:
输出一行一个整数,表示最小花费。
示例1
输入
复制
6 5 1
1 2 1
2 3 1
3 4 1
4 5 1
5 6 1
说明
路径为

, 进入

号城市时没有核酸检测记录需要补做核酸检测花费

,从

号城市到

号城市时有

内小时的核酸检测记录(离上一次检测间隔

小时)所以花费

, 从

号城市到

号城市没有核酸检测记录(离上一次检测间隔

小时),需要补做核酸检测花费

,从

号城市到

号城市有核酸检测记录,所以花费

,从

号城市到

号城市时需没有核酸检测记录需要要补做一次核酸检测,花费

。最终花费

。
备注:
保证存在从
号城市到
城市的线路。