Số thứ k

Xem PDF



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: 1800 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho dãy số \(a\)\(n\) phần tử nguyên phân biệt. Cho \(q\) truy vấn, mỗi truy vấn có dạng: \(l, r, k\). Yêu cầu: mỗi truy vấn xuất ra phần tử nhỏ thứ \(k\) sau khi sắp xếp các phần tử \(a_l, a_{l+1}, \dots, a_r\) theo thứ tự tăng dần.

Input

  • Dòng đầu tiên chứa số \(n\) (\(1 \le n \le 10^5\)).
  • Dòng tiếp theo chứa \(n\) số nguyên phân biệt \(a_1, a_2, \dots, a_n\) (\(|a_i| \le 10^9\)).
  • Dòng tiếp theo chứa số \(q\) (\(1 \le q \le 10^5\)).
  • \(q\) dòng tiếp theo, mỗi dòng chứa 3 số nguyên \(l, r, k\) (\(1 \le l \le r \le n, 1 \le k \le r - l + 1\)).

Output

  • Gồm \(q\) dòng, mỗi dòng chứa câu trả lời cho một truy vấn theo thứ tự nhập vào.

Example

Test 1

Input
7
1 5 2 6 3 7 4
3
2 5 3
4 4 1
1 7 3
Output
5
6
3
Note
  • Truy vấn 1: Đoạn \([2, 5]\) gồm các số \(\{5, 2, 6, 3\}\). Sắp xếp tăng dần: \(2, 3, 5, 6\). Số nhỏ thứ \(3\)\(5\).
  • Truy vấn 2: Đoạn \([4, 4]\) gồm số \(\{6\}\). Số nhỏ thứ \(1\)\(6\).
  • Truy vấn 3: Đoạn \([1, 7]\) gồm \(\{1, 5, 2, 6, 3, 7, 4\}\). Sắp xếp tăng dần: \(1, 2, 3, 4, 5, 6, 7\). Số nhỏ thứ \(3\)\(3\).

Bình luận (1)

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