Phần tử nhỏ thứ K trong BST
Xem dưới dạng PDF
Gửi bài giải
Điểm:
20
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Tèo có một BST được tạo từ \(N\) số nguyên dương phân biệt. Tèo muốn tìm phần tử nhỏ thứ \(K\) trong BST.
Hãy giúp Tèo viết chương trình tìm phần tử nhỏ thứ \(K\) trong BST bằng cách sử dụng tính chất của phép duyệt inorder.
Định dạng đầu vào
- Dòng đầu chứa hai số nguyên dương \(N\) và \(Q\) (\(1 \le N, Q \le 10^3\)).
- Dòng thứ hai chứa \(N\) số nguyên dương phân biệt \(a_1, a_2, \dots, a_N\) (\(1 \le a_i \le 10^9\)).
- \(Q\) dòng tiếp theo, mỗi dòng chứa một số nguyên \(K\) (\(1 \le K \le N\)).
Định dạng đầu ra
- Với mỗi truy vấn, in ra phần tử nhỏ thứ \(K\) trong BST.
Ví dụ
Input:
7 3
5 3 7 2 4 6 8
3
1
6
Output:
4
2
7
Giải thích: Inorder của BST là \([2, 3, 4, 5, 6, 7, 8]\). Phần tử nhỏ thứ \(3\) là \(4\), thứ \(1\) là \(2\), thứ \(6\) là \(7\).
Nhận xét