Bạn được cung cấp một danh sách \(N\) điểm số đôi một khác nhau. Hệ thống cần thực hiện \(Q\) truy vấn khác nhau dựa trên các điểm số này.
Yêu cầu: Sử dụng std::set<int> để lưu trữ \(N\) điểm số ban đầu. Xử lý \(Q\) truy vấn theo các loại sau, tận dụng các hàm tìm kiếm và so sánh của set:
1 K: Kiểm tra \(K\) có tồn tại không (nếu có thì kết quả là chính \(K\)).2 K: Tìm điểm số nhỏ nhất lớn hơn \(K\).3 K: Tìm điểm số nhỏ nhất lớn hơn hoặc bằng \(K\).4 K: Tìm điểm số lớn nhất nhỏ hơn \(K\).5 K: Tìm điểm số lớn nhất nhỏ hơn hoặc bằng \(K\).
Input
- Dòng đầu tiên chứa hai số nguyên \(N, Q\) (\(1 \le N, Q \le 10^5\)).
- Dòng thứ hai chứa \(N\) số nguyên đôi một khác nhau là các điểm số (\(1 \le a_i \le 10^9\)).
- \(Q\) dòng tiếp theo, mỗi dòng là một truy vấn theo định dạng trên (\(1 \le K \le 10^9\)).
Output
Với mỗi truy vấn, in ra trên một dòng: nếu tìm thấy kết quả, in ra điểm số đó; nếu không tìm thấy, in ra KHONG TIM THAY.
Sample Input 1
6 7
10 25 40 50 75 90
1 40
2 95
1 45
3 50
4 45
5 10
2 75
Sample Output 1
40
KHONG TIM THAY
KHONG TIM THAY
50
40
10
90
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.