时间限制:1000 ms
内存限制:256 MiB
标准输入输出
题目类型:传统
评测方式:文本比较
给定一棵 个节点的树,节点从 到 编号。每个节点 都有一个非负整数权值 。
我们定义 为节点 和 之间在树上的最短路径上的边数。
对于树上的每一个节点 ,你需要计算一个值 ,它表示树上所有到节点 的距离不超过 的节点的权值之和。
即,你需要计算:
其中 是 Iverson 括号,当条件 成立时为 ,否则为 。
请输出所有节点 的值。
第一行包含一个正整数 ,表示树的节点数。
第二行包含 个非负整数,其中第 个数表示节点 的权值 。
接下来 行,每行包含两个正整数 ,表示节点 和 之间有一条边。
输出一行 个非负整数,其中第 个数表示节点 的答案 。相邻的数字之间用空格隔开。
样例输入 1
5
1 2 3 4 5
1 2
2 3
3 4
4 5
样例输出 1
对于 的数据,,。
- 子任务 1(30 分):。
- 子任务 2(30 分):。
- 子任务 3(40 分):。