P0716

[Usaco 2012 Feb]Nearby Cows

[Usaco 2012 Feb]Nearby Cows

Farmer John 发现,奶牛经常会前往附近的草场吃草。因此,他希望在每个草场种植足够的牧草,不仅供该草场原有的奶牛食用,也供从附近草场前来的奶牛食用。

农场由 NN 个草场和 N−1N-1 条双向道路组成。任意两个草场之间都有且仅有一条简单路径。

第 ii 个草场原有 CiC_i 头奶牛。每头奶牛最多可以经过 KK 条道路前往其他草场。对于每个草场 ii,请计算最多可能到达该草场的奶牛数量 MiM_i,即所有与草场 ii 的距离不超过 KK 条道路的草场中的奶牛总数。

输入格式

第一行包含两个以空格分隔的整数 NN 和 KK。

接下来 N−1N-1 行,每行包含两个以空格分隔的整数 ii 和 jj,表示草场 ii 与草场 jj 之间有一条双向道路。

接下来 NN 行,第 ii 行包含一个整数 CiC_i,表示草场 ii 原有的奶牛数量。

输出格式

输出 NN 行,第 ii 行包含一个整数 MiM_i,表示最多可能到达草场 ii 的奶牛数量。

样例输入

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

样例输出

15
21
16
10
8
11

数据范围

  • 1≤N≤1051\le N\le 10^5;
  • 1≤K≤201\le K\le 20;
  • 1≤i,j≤N1\le i,j\le N;
  • 0≤Ci≤10000\le C_i\le 1000;
  • 草场之间共有 N−1N-1 条双向道路,且任意两个草场之间都有且仅有一条简单路径。

来源与许可

本题为 USACO 2012 February 试题「Nearby Cows」,题面与测试数据整理自 BZOJ 2591。

样例 1

输入

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

输出

15
21
16
10
8
11