[Đak Lắk 22-23] Số nhỏ nhất trong đoạn LR


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 256M

Problem type

Cho một dãy số nguyên gồm N phần tử a1, a2, ..., an đã được sắp xếp tăng và Q truy vấn. Mỗi truy vấn gồm ba số L, R (1 ≤ L ≤ R ≤ N) và S (0 ≤ S ≤ 2×109), trong đó L và R là số nguyên dương, S là số nguyên.

Yêu cầu:

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 từ L đến R (dãy con liên tiếp aL, aL+1, ..., aR).

Dữ liệu vào:

Đọc từ bàn phím theo cấu trúc sau:</p>

Dòng thứ nhất: hai số nguyên dương N (1 ≤ N ≤ 105), Q (1 ≤ Q ≤ 105).

Dòng thứ hai: N số nguyên a1, a2, ..., an (0 ≤ ai ≤ 2×109), dãy đã được sắp xếp tăng.

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 là kết quả truy vấn tương ứng. Nếu không có kết quả thì in ra -1.

Ví dụ:

Dữ liệu nhập vào</p>

5 3
2 2 8 9 10
1 3 2
1 4 7
1 5 202

Kết quả xuất ra

2
8
-1

Giải thích:

N = 5 và dãy số có 5 phần tử là: 2, 2, 8, 9, 10.

Q = 3 nghĩa là có 3 truy vấn.

Truy vấn 1: đoạn [1, 3] (2, 2, 8) có giá trị nhỏ nhất ≥ 2 là 2 → in 2.

Truy vấn 2: đoạn [1, 4] (2, 2, 8, 9) có giá trị nhỏ nhất ≥ 7 là 8 → in 8.

Truy vấn 3: đoạn [1, 5] không có số nào ≥ 202 → in -1.


Comments

There are no comments at the moment.