#L5355. 「OOI 2025 Day 1」梦想无害

    ID: 4869 传统题 1500ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>深度优先搜索树链剖分贪心优先队列

「OOI 2025 Day 1」梦想无害

题目描述

题目译自 Open Olympiad in Informatics 2025 Day1 T3 「Мечтать не вредно / Dreaming is not harmful」。

公司组织结构是一棵以 1 号节点为根的树,员工 v 的直接上级为 p_v,能力水平为 s_v(所有 s_v 互不相同)。每天会解雇当前根节点(总经理),由其能力最高的直接下属接任,其他下属成为新根的下属。每位员工想知道:若“取消”恰好一位同事(使其能力变为 0),自己最少需要多少天成为总经理。q 个查询独立,每个查询针对员工 v_k,输出其最少所需天数。

输入格式

  1. 第一行:两个整数 n 和 q(2 ≤ n ≤ 300000,1 ≤ q ≤ n),分别表示员工数量和查询数量;
  2. 第二行:n-1 个整数 p_2, p_3, …, p_n(1 ≤ p_i < i),表示 2 到 n 号员工的直接上级;
  3. 第三行:n 个整数 s_1, s_2, …, s_n(1 ≤ s_i ≤ n),表示员工的能力水平(互不相同);
  4. 第四行:q 个整数 v_1, v_2, …, v_q(1 ≤ v_i ≤ n),表示查询的员工编号(互不相同)。

输出格式

输出 q 个整数,用空格分隔,分别对应每个查询员工的最少所需天数。

样例

输入

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

输出

1 3 0 2

在样例中,编号为 5 的员工可以在 1 天内成为总经理。为此,只需「取消」编号为 2 的员工。公司结构的变化如下:

编号为 3 的员工可以在 3 天内成为总经理。为此,只需「取消」编号为 5 或 4 的员工。如果“取消”编号为 5 的员工,公司结构的变化如下:

编号为 1 的员工已经是公司负责人,因此对于相应的查询,答案为 0。

编号为 4 的员工可以在 2 天内成为总经理。类似上述示例,只需「取消」编号为 5 的员工即可。