CTDL - set6 - Tìm kiếm trên set
Trạng thái
Cho 1 dãy \(N\) số nguyên \(a_1, a_2, ... , a_N\).
Cho \(T\) truy vấn, mỗi truy vấn chứa 1 số nguyên \(k\).
Yêu cầu
Với mỗi truy vấn, in ra giá trị nhỏ nhất mà lớn hơn \(k\) trong dãy. Nếu không tồn tại giá trị lớn hơn \(k\), in ra −1.
Input
- Dòng đầu tiên chứa 2 số nguyên dương \(N, T\) \((1 ≤ N, T ≤ 10^5)\).
- Dòng tiếp theo chứa \(N\) số nguyên \(a_1, a_2, ... , a_N\) \((|a_i| ≤ 10^9)\).
- \(T\) dòng tiếp theo, mỗi dòng chứa 1 số nguyên \(k\) \((|k| ≤ 10^9\)).
Output
In ra trên \(T\) dòng, mỗi dòng là kết quả của từng truy vấn tương ứng.
Example
| INPUT | OUTPUT |
|---|---|
| \(5\) \(1\) \(1\) \(2\) \(3\) \(4\) \(5\) \(4\) |
\(5\) |
| \(5\) \(2\) \(1\) \(2\) \(3\) \(4\) \(5\) \(2\) \(5\) |
\(3\) -\(1\) |
Gợi ý: Sử dụng tính năng upper_bound của Set để xử lý bài toán.
Thông tin
Thông tin bài tập
Điểm
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
977 M
I/O
stdin -> stdout
Tác giả
Loại đề bài
C - Cấu trúc dữ liệu nâng cao: 05 - Set
Ngôn ngữ cho phép