UOJ Logo AYIT Online Judge

AYITOJ

Statistics
时间限制:2s    内存限制:256M    满分: 600分

题目描述

给定一棵有根树, 树根定义为1, 树上每个点有点权$A_i$

对于每个点 $i$ 你需要求出最小的 $p$ 使得 $i$ 点对应的子树内的所有与点 $i$ 的距离 $ <= p $ 的点的权值和 $ S < B_i $


输入描述

第一行一个整数n表示节点数

第二行 $n-1$ 个整数 $f_i$ 表示第 $i+1$ 个点的父亲是 $f_i$

第三行包含n个空格隔开的整数表示$A_i$

第四行包含n个空格隔开的整数表示$B_i$


输出描述

$n$行, 每行一个整数 $W_i$ 表示第 $i$ 个点对应的答案

特别地, 如果不存在满足条件的p, 请输出-1


样例输入:

15
1 2 3 4 3 5 2 7 6 5 11 11 11 5
-5 14 -59 -59 -54 -35 -50 29 -21 -17 -60 -21 -23 -27 -1
-194 -247 -289 -100 -120 -42 -54 28 -22 -16 -126 -20 -23 -27 0

样例输出:

5
4
3
1
1
1
1
-1
-1
0
1
0
-1
-1
0

数据范围

保证 $ 0 < n,m <= 500000, -10^9 <= A_i <= 10^9 ,-10^{18} <= B_i <= 10^{18} , f_i < i $

子任务1:(80分)

保证 $ 0 < n,m <= 1000 $

子任务2:(160分)

保证给定的树是一条链(也就是$f_i=i-1$)

子任务3:(360分)

无其他限制

题目来源

zdw1999