CF938D.Buy a Ticket

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Musicians of a popular band "Flayer" have announced that they are going to "make their exit" with a world tour. Of course, they will visit Berland as well.

There are nn cities in Berland. People can travel between cities using two-directional train routes; there are exactly mm routes, ii -th route can be used to go from city viv_{i} to city uiu_{i} (and from uiu_{i} to viv_{i} ), and it costs wiw_{i} coins to use this route.

Each city will be visited by "Flayer", and the cost of the concert ticket in ii -th city is aia_{i} coins.

You have friends in every city of Berland, and they, knowing about your programming skills, asked you to calculate the minimum possible number of coins they have to pay to visit the concert. For every city ii you have to compute the minimum number of coins a person from city ii has to spend to travel to some city jj (or possibly stay in city ii ), attend a concert there, and return to city ii (if jij≠i ).

Formally, for every you have to calculate , where d(i,j)d(i,j) is the minimum number of coins you have to spend to travel from city ii to city jj . If there is no way to reach city jj from city ii , then we consider d(i,j)d(i,j) to be infinitely large.

输入格式

The first line contains two integers nn and mm ( 2<=n<=21052<=n<=2·10^{5} , 1<=m<=21051<=m<=2·10^{5} ).

Then mm lines follow, ii -th contains three integers viv_{i} , uiu_{i} and wiw_{i} ( 1<=vi,ui<=n,viui1<=v_{i},u_{i}<=n,v_{i}≠u_{i} , 1<=wi<=10121<=w_{i}<=10^{12} ) denoting ii -th train route. There are no multiple train routes connecting the same pair of cities, that is, for each (v,u)(v,u) neither extra (v,u)(v,u) nor (u,v)(u,v) present in input.

The next line contains nn integers a1,a2,... aka_{1},a_{2},...\ a_{k} ( 1<=ai<=10121<=a_{i}<=10^{12} ) — price to attend the concert in ii -th city.

输出格式

Print nn integers. ii -th of them must be equal to the minimum number of coins a person from city ii has to spend to travel to some city jj (or possibly stay in city ii ), attend a concert there, and return to city ii (if jij≠i ).

输入输出样例

  • 输入#1

    4 2
    1 2 4
    2 3 7
    6 20 1 25
    

    输出#1

    6 14 1 25 
    
  • 输入#2

    3 3
    1 2 1
    2 3 1
    1 3 1
    30 10 20
    

    输出#2

    12 10 12 
    
首页