[Hải Phòng - TS10 - 2025] Bài 3

Xem dạng PDF

Gửi bài giải

Điểm: 9,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Đề bài được tóm tắt theo trí nhớ.

Cho số nguyên dương ~n~ (~1 \le n \le 10^5~) và mảng ~a~ nguyên dương ~a_1, a_2, ..., a_n~ (~a_i \le 10^9~) phân biệt.

Cho ~q~ truy vấn, mỗi truy vấn gồm hai số ~i~ ~j~ (~1 \le i < j \le n~).

Yêu cầu: Tìm đoạn con dài nhất chứa hai chỉ số ~i~ và ~j~ sao cho:

  • Nếu ~a_i < a_j~ thì tất cả các phần tử trong đoạn đó nhận ~a_i~ làm GTNN, ~a_j~ làm GTLN.
  • Nếu ~a_j < a_i~ thì tất cả các phần tử trong đoạn đó nhận ~a_j~ làm GTNN, ~a_i~ làm GTLN.

INPUT

Dòng đầu tiên nhập vào hai số nguyên dương ~n~ và ~q~ (~n, q \le 10^5~)

Dòng thứ hai nhập vào ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ (~a_i \le 10^9~). Dữ liệu đảm bảo các số nguyên dương ~a_1, a_2, ..., a_n~ phân biệt.

~q~ dòng tiếp theo, mỗi dòng chứa hai số nguyên dương ~i, j~ (~i < j~).

OUTPUT

In ra ~q~ dòng, mỗi dòng ghi hai số nguyên dương lần lượt là chỉ số đầu và chỉ số cuối của đoạn con thu được thỏa mãn yêu cầu đề bài. Nếu không có phương án thỏa mãn, in ra ~-1~.

SAMPLE INPUT

8 3
10 7 4 5 8 6 3 20
3 5
5 7
2 6

SAMPLE OUTPUT

2 6
2 7
-1

SUBTASKS

Subtask Điểm Ràng buộc
1 ~20\%~ ~q = 1; n \le 10^2~
2 ~20\%~ ~q = 1; n \le 10^4~
3 ~20\%~ ~q \le 10^2~
4 ~40\%~ Không có ràng buộc gì thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.