#aBC348E. [ABC348E] Minimize Sum of Distances

[ABC348E] Minimize Sum of Distances

AT_abc348_e [ABC348E] Minimize Sum of Distances

题目描述

给定一棵包含 NN 个顶点的树。顶点编号为 11NN,第 ii 条边连接顶点 AiA_iBiB_i

给定一个长度为 NN 的正整数序列 C=(C1,C2,,CN)C = (C_1, C_2, \ldots, C_N)。定义 d(a,b)d(a, b) 为顶点 aabb 之间的边数。对于 x=1,2,,Nx = 1, 2, \ldots, N,定义

f(x)=i=1N(Ci×d(x,i))f(x) = \sum_{i=1}^{N} (C_i \times d(x, i))

请你求出 min1vNf(v)\displaystyle \min_{1 \leq v \leq N} f(v) 的值。

输入格式

输入以如下格式从标准输入给出。

NN
A1A_1 B1B_1
A2A_2 B2B_2
\vdots
AN1A_{N-1} BN1B_{N-1}
C1C_1 C2C_2 \cdots CNC_N

输出格式

请输出一个整数,表示答案。

输入输出样例 #1

输入 #1

4
1 2
1 3
2 4
1 1 1 2

输出 #1

5

输入输出样例 #2

输入 #2

2
2 1
1 1000000000

输出 #2

1

输入输出样例 #3

输入 #3

7
7 3
2 5
2 4
3 1
3 6
2 1
2 7 6 9 3 4 6

输出 #3

56

说明/提示

限制条件

  • 1N1051 \leq N \leq 10^5
  • 1Ai,BiN1 \leq A_i, B_i \leq N
  • 给定的图是一棵树。
  • 1Ci1091 \leq C_i \leq 10^9

样例解释 1

f(1)f(1) 为例,d(1,1)=0,d(1,2)=1,d(1,3)=1,d(1,4)=2d(1, 1) = 0, d(1, 2) = 1, d(1, 3) = 1, d(1, 4) = 2。因此,

$$f(1) = 0 \times 1 + 1 \times 1 + 1 \times 1 + 2 \times 2 = 6$$

同理,f(2)=5,f(3)=9,f(4)=6f(2) = 5, f(3) = 9, f(4) = 6f(2)f(2) 最小,所以输出 5

样例解释 2

f(2)=1f(2) = 1,这是最小值。

由 ChatGPT 4.1 翻译