#B0191. 演唱会计划
演唱会计划
题目描述
有 座城市,城市编号为 。
第 座城市会举办一场演唱会。如果一名居民选择去第 座城市看演唱会,那么他需要支付门票费用 。
城市之间有 条双向道路。每条道路连接两座城市,单程通行费用为 。
现在,住在第 座城市的居民会选择 恰好一座 城市去看演唱会,并且看完后还要返回自己的城市。
也就是说,如果他选择去第 座城市看演唱会,那么总花费为:
其中, 表示城市 到城市 的最短路长度(按单程通行费用计算)。
对于每个城市 ,你都需要求出该城市居民的最小总花费。
输入格式
第一行两个整数 。
接下来 行,每行三个整数 ,表示城市 与城市 之间有一条双向道路,单程通行费用为 。
最后一行 个整数 ,表示各城市演唱会的门票费用。
数据范围:
保证任意两座城市之间至多有一条道路,且整张图连通。
输出格式
输出一行 个整数,第 个整数表示第 座城市居民的最小总花费。
4 4
1 2 3
2 3 2
3 4 4
1 4 10
8 1 7 20
7 1 5 13
Hint
样例解释: 我们分别考虑每座城市的居民:
-
对于城市 ,若去城市 看演唱会,则总花费为
$$a_2 + 2 \cdot \mathrm{dist}(1,2) = 1 + 2 \cdot 3 = 7$$这是最优方案,因此答案为 。
-
对于城市 ,直接在本地看演唱会即可,总花费为
-
对于城市 ,去城市 看演唱会更优,总花费为
-
对于城市 ,若去城市 看演唱会,最短路长度为
因此总花费为
比去其他城市都更优,所以答案为 。
因此最终输出为 7 1 5 13。