#ABC222F. 昂贵的开销

昂贵的开销

昂贵的开销

题目描述

AtCoder 王国由 NN 个城镇和 N1N-1 条道路组成。

城镇被编号为 Town 11、Town 22\dots、Town NN。 同样地,道路被编号为 Road 11、Road 22\dots、Road N1N-1。 道路 ii 双向连接城镇 AiA_i 和城镇 BiB_i,通过它需要支付过路费 CiC_i。任意一对不同的城镇 (i,j)(i, j) 之间都可以通过道路互相到达。

给定一个数列 D=(D1,D2,,DN)D = (D_1, D_2, \dots, D_N),其中 DiD_i 是在城镇 ii 观光所需的费用。

定义从城镇 ii 到城镇 jj 的旅行费用 Ei,jE_{i,j} 为:从城镇 ii 到城镇 jj 所需的总过路费加上 DjD_j

更正式地,设从 iijj 的最短路为 i=p0,p1,,pk1,pk=ji = p_0, p_1, \dots, p_{k-1}, p_k = j,连接城镇 plp_{l}pl+1p_{l+1} 的道路的过路费为 clc_l,则 Ei,jE_{i,j} 定义为 Dj+l=0k1clD_j + \displaystyle\sum_{l=0}^{k-1} c_l

对于每个 ii,求从城镇 ii 出发到另一个城镇的旅行费用的最大值。

更正式地,对于每个 ii,求 $\displaystyle \max_{1 \le j \le N, j \neq i} E_{i,j}$。

输入格式

输入按以下格式从标准输入给出:

NN
A1A_1 B1B_1 C1C_1
A2A_2 B2B_2 C2C_2
\vdots
AN1A_{N-1} BN1B_{N-1} CN1C_{N-1}
D1D_1 D2D_2 \dots DND_N

输出格式

输出 NN 行。第 ii 行输出 $\displaystyle \max_{1 \le j \le N, j \neq i} E_{i,j}$。

样例

3
1 2 2
2 3 3
1 2 3
8
6
6

对于每一对城镇 (i,j)(i,j)Ei,jE_{i,j} 的值如下。

E1,2=2+2=4E_{1,2} = 2 + 2 = 4

E1,3=5+3=8E_{1,3} = 5 + 3 = 8

E2,1=2+1=3E_{2,1} = 2 + 1 = 3

E2,3=3+3=6E_{2,3} = 3 + 3 = 6

E3,1=5+1=6E_{3,1} = 5 + 1 = 6

E3,2=3+2=5E_{3,2} = 3 + 2 = 5

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

数据范围

  • 2N2×1052 \le N \le 2 \times 10^5
  • 1AiN1 \le A_i \le N (1iN1)(1 \le i \le N-1)
  • 1BiN1 \le B_i \le N (1iN1)(1 \le i \le N-1)
  • 1Ci1091 \le C_i \le 10^9 (1iN1)(1 \le i \le N-1)
  • 1Di1091 \le D_i \le 10^9 (1iN)(1 \le i \le N)
  • 对于满足 1i<jN1 \le i \lt j \le N 的整数对 (i,j)(i,j),可以通过若干条道路从城镇 ii 到达城镇 jj
  • 输入中的所有值均为整数。
难度 提高+/省选
通过率
尝试 0
已通过 0
ID
2277
类型
传统题
Time Limit
4000ms
Memory Limit
1024MiB
上传者
标签