AT_m_solutions2019_d Maximum Sum of Minimum
题目描述
给定一棵包含 $N$ 个顶点 $1,2,\ldots,N$ 的树 $T$,以及一组正整数 $c_1,c_2,\ldots,c_N$。第 $i$ 条边($1 \leq i \leq N-1$)连接顶点 $a_i$ 和顶点 $b_i$。
在 $T$ 的每个顶点上写入一个正整数后,按照如下方式计算分数:
- 对于每条边,将其两个端点上写入的整数中较小的一个写在该边上。
- 所有边上写入的整数之和即为分数。
请你求出将 $c_1,c_2,\ldots,c_N$ 分别写入每个顶点(每个数只能用一次,若有重复则必须用对应次数)时,能够获得的最大分数,并构造一种达到该最大分数的写法。
注意,如果 $c_1,c_2,\ldots,c_N$ 中有重复的整数,则每个整数必须使用对应的次数。
输入格式
输入以如下格式从标准输入读入。
> $N$ $a_1$ $b_1$ $:$ $a_{N-1}$ $b_{N-1}$ $c_1$ $\ldots$ $c_N$
输出格式
请按如下格式输出。
> $M$ $d_1$ $\ldots$ $d_N$
$M$ 表示最大分数。$d_i$ 表示应写在顶点 $i$ 上的整数。$d_1,d_2,\ldots,d_N$ 必须是 $c_1,c_2,\ldots,c_N$ 的一个排列。
如果有多种达到最大分数的方法,输出其中任意一种即可。
说明/提示
### 限制条件
- $1 \leq N \leq 10000$
- $1 \leq a_i, b_i \leq N$
- $1 \leq c_i \leq 10^5$
- 给定的图一定是一棵树
### 样例解释 1
将 $1,2,3,4,5$ 分别写在顶点 $1,2,3,4,5$ 上时,$4$ 条边上分别写入 $1,2,3,4$,因此分数为 $10$。这是最大分数。
### 样例解释 2
$c_1,c_2,\ldots,c_N$ 不一定互不相同。
由 ChatGPT 4.1 翻译