题目描述
蒙自一中王国由 N 个城市和 N−1 条道路组成。
城市编号为城市 1、城市 2、…、城市 N。道路同样编号为道路 1、道路 2、…、道路 N−1。道路 i 双向连接城市 Ai 和 Bi,通过时需要支付 Ci 的通行费。对于任意不同的城市对 (i,j),都可以通过道路从城市 i 到达城市 j。
现在,给定一个序列 D=(D1,D2,…,DN),其中 Di 表示在城市 i 观光时需要的费用。此时,从城市 i 到城市 j 的旅行费用 Ei,j 定义为:从城市 i 出发,不重复经过同一条道路,前往城市 j 时所需通行费之和,加上 Dj。
- 更严格地说,设 i−j 之间的最短路径为 i=p0,p1,…,pk−1,pk=j,连接城市 pl 和 pl+1 的道路通行费为 cl,则 Ei,j=Dj+l=0∑k−1cl。
请对于每个 i,求出以城市 i 为起点前往其他城市时可能的最大旅行费用。
- 更严格地说,对于每个 i,求 max1≤j≤N,j=iEi,j。
输入格式
第一行输入一个数N。
接下来N-1行,每行三个数ABC分别代表起点终点和费用
最后一行n个数,表示费用Di
输出格式
输出 N 行。第 i 行输出 max1≤j≤N,j=iEi,j。
3
1 2 2
2 3 3
1 2 3
8
6
6
6
1 2 3
1 3 1
1 4 4
1 5 1
1 6 5
9 2 6 5 3 100
105
108
106
109
106
14
6
1 2 1000000000
2 3 1000000000
3 4 1000000000
4 5 1000000000
5 6 1000000000
1 2 3 4 5 6
5000000006
4000000006
3000000006
3000000001
4000000001
5000000001
说明/提示
限制条件
- 2≤N≤2×105
- 1≤Ai≤N (1≤i≤N−1)
- 1≤Bi≤N (1≤i≤N−1)
- 1≤Ci≤109 (1≤i≤N−1)
- 1≤Di≤109 (1≤i≤N)
- 对于任意满足 1≤i<j≤N 的整数对 (i,j),都可以通过若干道路从城市 i 到城市 j。
- 所有输入均为整数。
样例解释 1
对于所有城市的有序对 (i,j),计算 Ei,j 如下:
- E1,2=2+2=4
- E1,3=5+3=8
- E2,1=2+1=3
- E2,3=3+3=6
- E3,1=5+1=6
- E3,2=3+2=5