RMQ cơ bản

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1200 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho dãy gồm \(n\) số nguyên \(a_1,a_2,\ldots,a_n\). Thực hiện \(Q\) truy vấn, mỗi truy vấn có dạng hai số nguyên dương \(L,R\) với yêu cầu tính:

\[\min(a_L, a_{L + 1}, \ldots, a_R)\]

Input

  • Dòng đầu chứa hai số nguyên dương \(n,Q\) \((1 \leq n,Q \leq 2 \times 10^5)\)
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) \((1 \leq a_i \leq 10^9)\)
  • Tiếp theo là \(Q\) dòng, mỗi dòng chứa hai số nguyên \(L, R\) thể hiện một truy vấn \((1 \leq L \leq R \leq n)\)

Output

  • Với mỗi truy vấn, in một số nguyên là kết quả tìm được trên một dòng

Example

Test 1

Input
8 4
3 2 4 5 1 1 5 3
2 4
5 6
1 8
3 3
Output
2
1
1
4

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.