Cho một dãy số nguyên gồm \(N\) phần tử \(a_1, a_2,... 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 \le L \le R \le N)\) và \(S\) \((0 \le S \le 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\).
Dữ liệu vào
- Dòng thứ nhất: nhập hai số \(N\) \((1 \le N \le 10^5)\) và \(Q\) \((1 \le Q \le 10^5)\)
- Dòng thứ hai: nhập \(n\) số nguyên \(a_1, a_2, ... a_n\) \((0 \le a_i \le 2 \times 10^9)\)
- Q dòng tiếp theo, mỗi dòng gồm ba số nguyên \(L,R,S\)
Dữ liệu ra
- \(Q\) dòng, mỗi dòng là số nguyên để trả lời câu truy vấn tương ứng. Nếu không có kết quả thì in \(-1\)
Input 1
5 3
2 2 8 9 10
1 3 2
1 4 7
1 5 20
Output 1
2
8
-1
Nhận xét