Chọn ĐTQG Lào Cai 2026 - Cây con gốc v

Xem dạng PDF

Gửi bài giải

Điểm: 40,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho một cây có gốc là đỉnh ~1~, gồm ~n~ đỉnh, đỉnh ~i~ mang giá trị ~w[i]~. Có ~Q~ truy vấn, truy vấn thứ ~i~ cho một cặp số nguyên ~(v,k)~ và yêu cầu: duyệt toàn bộ cây con gốc ~v~, thu thập giá trị ~w[i]~ của các đỉnh thuộc cây con gốc ~v~ vào một mảng, sắp xếp thành dãy không giảm, rồi lấy phần tử ở vị trí thứ ~k~ trong dãy đó.

Input

  • Dòng ~1~ chứa số nguyên dương ~n~ (~n \le 2 \cdot 10^5~).

  • Dòng ~2~ chứa ~n~ số nguyên dương ~w[1],w[2],\dots,w[n]~ (~|w[i]| \le 10^9~).

  • Dòng ~3~ chứa ~n-1~ số nguyên ~p[2],p[3],\dots,p[n]~, với ~p[i]~ là cha của đỉnh ~i~ (~2 \le i \le n~).

  • Dòng tiếp theo chứa số nguyên dương ~Q~ là số lượng truy vấn (~Q \le 2 \cdot 10^5~).

  • ~Q~ dòng sau đó, mỗi dòng chứa hai số nguyên dương ~v~ và ~k~ tương ứng với một truy vấn (~1 \le v,k \le n~).

Output

Với mỗi truy vấn, in ra trên một dòng giá trị tìm được, hoặc -1 nếu cây con gốc ~v~ có ít hơn ~k~ đỉnh.

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ ~n,Q \le 600~
2 ~20\%~ ~n,Q \le 3000~
3 ~50\%~ Không có ràng buộc gì thêm

Sample Input 1

6
5 5 5 7 9 10
1 1 2 2 3
4
1 1
1 2
3 3
2 2

Sample Output 1

5
5
-1
7

Notes

Truy vấn ~(1,1)~ có ~v=1,k=1~: Duyệt cây con gốc ~1~ được mảng ~w[]~, sắp xếp thành dãy không giảm là ~\{5,5,5,7,9,10\}~, phần tử ở vị trí thứ ~k=1~ là ~5~.

Truy vấn ~(2,2)~ được mảng là ~\{5,7,9\}~, phần tử thứ ~2~ là ~7~.


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.