Home => ProblemSet => 3.2-11:可持久化线段树2(静态区间第k小)
Problem1799--3.2-11:可持久化线段树2(静态区间第k小)

1799: 3.2-11:可持久化线段树2(静态区间第k小)

Time Limit: 2 Sec  Memory Limit: 256 MB  Submit: 0  Solved: 11
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

给定 n 个整数构成的序列 a,将对于指定的闭区间 [l,r] 查询其区间内的第 k 小值。

Input

第一行包含两个整数,分别表示序列的长度 n 和查询的个数 m。
第二行包含 n 个整数,第 i 个整数表示序列的第 i 个元素 ai
接下来 m 行每行包含三个整数 l,r,k , 表示查询区间 [l,r] 内的第 k 小值。

Output

对于每次询问,输出一行一个整数表示答案。

Sample Input Copy

5 5
25957 6405 15770 26287 26465 
2 2 1
3 4 1
4 5 1
1 2 2
4 4 1

Sample Output Copy

6405
15770
26287
25957
26287

HINT

样例解释:


n=5,数列长度为 5,数列从第一项开始依次为 {25957,6405,15770,26287,26465}。
  • 第一次查询为 [2,2] 区间内的第一小值,即为 6405。
  • 第二次查询为 [3,4] 区间内的第一小值,即为 15770。
  • 第三次查询为 [4,5] 区间内的第一小值,即为 26287。
  • 第四次查询为 [1,2] 区间内的第二小值,即为 25957。
  • 第五次查询为 [4,4] 区间内的第一小值,即为 26287。

数据规模与约定

  • 对于 20% 的数据,满足 1≤n,m≤10。
  • 对于 50% 的数据,满足 1≤n,m≤103
  • 对于 80% 的数据,满足 1≤n,m≤105
  • 对于 100% 的数据,满足 1≤n,m≤2×105, ∣ai∣≤109, 1≤l≤r≤n, 1≤k≤r−l+1。