#5671. CSES1687 公司查询 I

0

CSES1687 公司查询 I

#CS1687. 公司查询 I

公司查询 I

题目背景

翻译自 CSES-1687 题。

题目描述

一个公司有 n 名员工,员工之间形成了一个树形层级结构,每个员工都有一个上级,除了总经理。

你的任务是处理 q 个查询,每个查询的形式是:员工 x 的上级是位于树形结构中高 k 层的哪个员工?

输入格式

第一行包含两个整数 n 和 q:分别表示员工的数量和查询的数量。员工编号为 1,2,…,n1,2,…,n1,2,…,n,其中员工 1 是总经理。

第二行包含 n−1n−1n−1 个整数 e2,e3,…,ene_2,e_3,…,e_ne2​,e3​,…,en​:表示员工 2,3,…,n2,3,…,n2,3,…,n 的上级,其中 eie_iei​ 表示员工 i 的上级是员工 eie_iei​。

接下来的 q 行,每行包含两个整数 x 和 k:表示查询员工 x 的上级位于树形结构中高 k 层的员工是谁。

输出格式

对于每个查询,输出对应的员工编号。如果没有这样的上级,输出 −1−1−1。

样例

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

说明/提示

1n,q21051 \leq n,q \leq 2 \cdot 10^5

eii11eii11eii≤ei≤i−11 \leq e_i \leq i - 11≤ei​≤i−

1xn1 \leq x \leq n

1kn1 \leq k \leq n