题目描述
现在有 n 个知识点,除了 1 号知识点“初识语言”外,每个知识点有且仅有一个前置技能,它们构成了一棵以 1 为根节点的树。如果想要学习第 i 个知识点,那么一定要保证第 i 个知识点的前置技能 ai 已经在之前学会了。
小Z精力旺盛,他一天可以学会至多 k 个知识点,但是学习的时候会打乱顺序,所以当天学习的知识点的前置技能一定要保证在之前的某一天已经学会了,而不能在同一天学习。
现在小Z想要知道至少需要多少天才能把 n 个知识全部学会。小Z想要通过多次询问来找到最适合自己的学习方式,所以他会询问你 q 次,每次给定一个k,请你求出至少需要的天数。
Input
第一行两个数字 n,q;
第二行 q 个数字,表示询问的 k;
第三行 n−1 个数字,第 i 个表示 ai−1。
Output
共一行,q个数字,分别表示第 i 个询问的最少天数。
数据范围
n,q,k<106
样例输入 1
5 2
1 3
1 1 2 3
样例输出 1
5 3
解释
k=1 时,1,2,3,4,5
k=3,1,23,45
另:
http://noip.ybtoj.com.cn/contest/133/problem/3 正在比赛(当然我已经结束了) 侵权紫杉