Cho một dãy số nguyên gồm \(n\) phần tử \(a_{1},\ a_{2},\ \ldots,a_{n}\) đã được sắp xếp tăng và \(q\) truy vấn. Mỗi truy vấn gồm ba số \(l,\ r\ (1 \leq l \leq r \leq n)\) và \(s\) \((0 \leq s \leq 2 \times 10^{9})\); trong đó \(l\) và \(r\) là số nguyên dương, \(s\) là số nguyên.
Yêu cầu: Bạn hãy lập trình trả lời \(q\) truy vấn, mỗi truy vấn yêu cầu tìm số nhỏ nhất lớn hơn hoặc bằng \(s\) thuộc đoạn \(l\) đến \(r\) (đoạn \(l\) đến \(r\) chính là dãy con liên tiếp \(a_{l},\ a_{l + 1},\ a_{l + 2},\ \ldots,\ a_{r}\)).
Dữ liệu vào:
+ Dòng thứ nhất ghi hai số nguyên dương \(n,q\) \((1 \leq n,q \leq 10^{5})\);
+ Dòng thứ ghi lần lượt các số nguyên \(a_{1},\ a_{2},\ \ldots,a_{n}\) \((0 \leq a_{i} \leq 2*10^{9},\ 1 \leq i \leq n)\).
+ \(q\) dòng tiếp theo, mỗi dòng gồm ba số nguyên \(l,r,s\) thể hiện một truy vấn.
Các số trên một dòng cách nhau một khoảng trắng.
Dữ liệu ra: Xuất ra màn hình gồm \(q\) dòng, mỗi dòng gồm một số nguyên để trả lời câu truy vấn tương ứng. Nếu không có kết quả thì in ra -1.
Ví dụ:
Input | Output |
---|---|
5 3 2 2 8 9 10 1 3 2 1 4 7 1 5 20 | 2 8 -1 |
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |