Phân cấp trong công ty 1

Xem dạng PDF

Bài toán

Một công ty có ~ n ~ nhân viên, được tổ chức theo dạng cây phân cấp, trong đó mỗi nhân viên (trừ giám đốc chung) đều có một người quản lý. Bạn cần trả lời ~ q ~ truy vấn dưới dạng: ai là cấp trên của nhân viên ~ x ~ sau ~ k ~ cấp?


Đầu vào
  • Dòng đầu tiên chứa hai số nguyên ~ n ~ và ~ q ~: số nhân viên và số truy vấn (~ 1 \leq n, q \leq 2 \cdot 10^5 ~).
  • Tiếp theo là ~ n-1 ~ số nguyên ~ e_2, e_3, \ldots, e_n ~: ~ e_i ~ là người quản lý trực tiếp của nhân viên ~ i ~.
  • Cuối cùng là ~ q ~ dòng, mỗi dòng chứa hai số nguyên ~ x ~ và ~ k ~: cần tìm cấp trên của nhân viên ~ x ~ sau ~ k ~ cấp.

Đầu ra
  • In ra ~ q ~ số nguyên, mỗi số là kết quả của một truy vấn. Nếu không tồn tại cấp trên ~ k ~ cấp, in ra ~-1~.

Ví dụ

Input:

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

Output:

3
1
-1

Giải thích:

  • Truy vấn ~ (4, 2) ~: cấp trên của ~ 4 ~ sau 2 cấp là ~ 3 ~.
  • Truy vấn ~ (2, 1) ~: cấp trên của ~ 2 ~ sau 1 cấp là ~ 1 ~.
  • Truy vấn ~ (5, 3) ~: không tồn tại cấp trên của ~ 5 ~ sau 3 cấp (~-1~).



Bình luận

Hãy đọc nội quy trước khi bình luận.

Không có bình luận tại thời điểm này.

Gửi bài giải
Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout
Nguồn bài: CSES
Dạng bài
CSES
Ngôn ngữ cho phép
C
C++
Java
Kotlin
Pascal
PyPy
Python
Scratch