问题4353--cs的禁断魔法

4353: cs的禁断魔法

[命题人 : ]
时间限制 : 10.000 sec  内存限制 : 128 MB

题目描述

现在有一棵有根树,根节点为1,第i个节点有一个宝物和一个怪物,怪物的能力值是val(i);
cs是刚学会一个魔法就来寻宝了,但是由于他并没有完全掌握他的魔法,出了一点问题,
cs的魔法是这样的,首先cs可以瞬移到一个节点,然后花费魔力值x来获得以当前节点为根的子树上,所有深度不超过x的节点的宝物(怪物会随着宝物来到仓鼠跟前)。
但是现在有另外一个问题,虽然cs的魔力是无限的,但是这个禁断魔法只能让cs只能打过能力值大于他的怪物!!!!(所以叫禁断魔法)
为了保证他的安全,他不能面对能力值小于等于他的怪物。
 
 
现在给出q次询问
每次给出cs瞬移到的位置pos,和cs的能力值zz,
问cs在获得尽可能多的宝物的情况下,消耗的最少魔力值是多少。

输入

多组输入,不超过5组。
每组输入形如:
n Q
val(1) val(2) ... val(n)
fa(2) fa(3) ... fa(n)
pos(1) zz(1)
pos(2) zz(2)
....
pos(Q) zz(Q)
 
n表示有树上的n个节点,Q表示询问次数,val(i)表示第 i 个节点怪物的能力值;
fa(i)表示第 i 个节点的父亲,并且fa(i)< i;
pos(i),zz(i)表示第i次询问时,cs瞬移到的节点,和能力值;
 
1<=n<=1e5 1<=Q<=1e5 1<=pos[i]<=n 1<=zz[i]<=1e9

输出

每组输出形如:
ans(1)
ans(2)
....
ans(Q)
 

样例输入 Copy

8 5
8 7 6 5 4 3 2 2
1 1 2 2 4 4 6
1 1
1 5
2 1
7 3
7 1

样例输出 Copy

5
2
4
0
1

来源/分类

zy