Truy vấn khoảng (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ớ: 1000M Input: bàn phím Output: màn hình

Cho dãy số \(a_{1}, a_{2}, \ldots, a_{n}\)\(m\) truy vấn \(l, r\). Với mỗi truy vấn đưa ra phần tử bé nhất trong đoạn \(a_{l}, a_{l + 1}, \ldots, a_{r}\).

Input

  • Dòng đầu tiên chứa \(2\) số nguyên dương \(n, m\) \((n, m \leq 10^{5})\).
  • Dòng thứ \(2\) chứa \(n\) số nguyên \(a_{1}, a_{2}, \ldots, a_{n}\) \((|a_{i}| \leq 10^{9})\).
  • \(m\) dòng tiếp theo, dòng thứ \(i\) ghi \(2\) số nguyên \(l_{i}, r_{i}\) là xác định truy vấn thứ \(i\) \((1 \leq l_{i} \leq r_{i} \leq n)\).

Output

  • \(m\) dòng, mỗi dòng một số nguyên tương ứng với kết quả truy vấn thứ \(i\).

Example

Test 1

Input
4 3
3 5 2 7
1 3
1 2
4 4
Output
2
3
7

Bình luận (1)

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