#abc463e. Roads and Gates
Roads and Gates
题目描述
AtCoder 国有 座城市和 条道路。第 条道路 双向连接城市 和城市 ,从一端走到另一端需要 分钟。
此外,每座城市都装有一台传送门。使用传送门,可以从城市 直接到达城市 ,耗时 分钟。
除此之外,没有别的方式在城市之间移动。
对每个 ,请回答下面的问题:
- 从城市 走到城市 ,最少需要多少分钟?
其中,在同一座城市里从一条道路(或传送门)换乘到另一条道路(或传送门)的时间可以忽略不计。
输入格式
N M Y
u_1 v_1 T_1
u_2 v_2 T_2
...
u_M v_M T_M
X_1 X_2 ... X_N
输出格式
在一行中依次输出 的答案,相邻两个数之间用一个空格隔开。
输入示例 1
7 7 3
1 2 1
1 3 6
2 3 4
3 5 8
3 7 4
4 5 2
4 7 9
3 1 4 1 5 9 2
输出示例 1
1 5 6 8 14 7
示例 1 说明
以 为例,可以用 分钟从城市 到城市 :
- 走第 条道路,花 分钟从城市 到城市 ;
- 再用传送门,花 分钟从城市 到城市 。
合计 分钟。可以证明不存在 分钟以内的走法,所以 的答案是 。
输入示例 2
2 0 1000000000
1000000000 1000000000
输出示例 2
3000000000
示例 2 说明
这里一条道路都没有(),只能用传送门,耗时 。
请注意答案可能达到 以上,必须用 64 位整数(long long)存储。
输入示例 3
12 20 873
2 7 940
6 9 444
6 11 809
7 8 786
9 10 468
7 10 234
6 10 660
4 12 939
8 10 896
1 11 953
8 10 818
4 8 967
3 9 724
6 7 929
3 4 948
1 3 999
10 11 724
7 10 338
1 8 967
1 12 733
581 978 950 629 583 729 554 712 438 930 774 279
输出示例 3
2432 999 1672 2037 1762 1753 967 1723 1677 953 733
示例 3 说明
注意有些城市走道路更划算(如 直接走第 条道路只要 分钟),有些城市则是先走一段道路再传送更划算。答案是两类走法混合后的最小值。
约束条件
- 所有输入值均为整数