#9256. [DAY18]三步必杀 暂未评定

时间限制:1000 ms 内存限制:256 MiB 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: root

题目描述

给定一棵 个节点的树,节点从 编号。每个节点 都有一个非负整数权值

我们定义 为节点 之间在树上的最短路径上的边数。

对于树上的每一个节点 ,你需要计算一个值 ,它表示树上所有到节点 的距离不超过 的节点的权值之和

即,你需要计算:

其中 是 Iverson 括号,当条件 成立时为 ,否则为

请输出所有节点 的值。

输入格式

第一行包含一个正整数 ,表示树的节点数。

第二行包含 个非负整数,其中第 个数表示节点 的权值

接下来 行,每行包含两个正整数 ,表示节点 之间有一条边。

输出格式

输出一行 个非负整数,其中第 个数表示节点 的答案 。相邻的数字之间用空格隔开。

样例

样例输入 1

5
1 2 3 4 5
1 2
2 3
3 4
4 5

样例输出 1

10 15 15 15 14

数据范围与提示

对于 的数据,

  • 子任务 1(30 分):
  • 子任务 2(30 分):
  • 子任务 3(40 分):