#icpc2014summerday2h. [icpc2014summer_day2_h]Distance Sum

[icpc2014summer_day2_h]Distance Sum

题目描述

nn 个城市和 n1n-1 条道路,形成一棵树。
把城市从 11nn 的编号,以城市 11 为根,城市 ii 的父节点是 pip_iiipip_i 的距离是 did_i

对于每个 kk1kn1\le k\le n),求每一个城市到城市 1k1\sim k 距离之和的最小值

$$\min_{1\le v\le n}\left \{ \sum_{i=1}^{k} dist(i,v)\right \} $$

dist(u,v)dist(u,v)表示 uuvv 的距离。

输入格式

第一行为一个整数 nn, 下面 n1n-1 行为两个整数 pip_i did_i

n
p2 d2
· · ·
pn dn

输出格式

输出共 nn 行,
在第 ii 行中,输出 kik=i 时的答案。

输入输出样例

样例 #1

样例输入 #1

10
4 1
1 1
3 1
3 1
5 1
6 1
6 1
8 1
4 1

样例输出 #1

0
3
3
4
5
7
10
13
16
19
14

样例 #2

样例输入 #2

15
1 3
12 5
5 2
12 1
7 5
5 1
6 1
12 1
11 1
12 4
1 1
5 5
10 4
1 2

样例输出 #2

0
3
9
13
14
21
22
29
31
37
41
41
47
56
59

提示说明

  • 1n2000001 ≤ n ≤ 200000

  • 1pin1 ≤ p_i ≤ n

  • 1di2000001 ≤ d_i ≤ 200000

  • pip_i 表示的图表是树

  • 输入全部为整数