#D0842. 区间第 k 小

区间第 k 小

题目描述

给定一个长度为 NN 的整数序列 AA。有 QQ 个询问,每个询问给出 l,r,kl,r,k,请输出子数组 Al,Al+1,...,ArA_l,A_{l+1},...,A_r 中第 kk 小的数。

本题用于练习带树状数组的整体二分模板:在值域二分时,用树状数组统计当前左半值域的元素在某个下标区间中出现了多少个。

输入格式

第一行两个整数 N,QN, Q

第二行 NN 个整数 AiA_i

接下来 QQ 行,每行三个整数 l,r,kl, r, k

输出格式

输出 QQ 行,第 ii 行为第 ii 个询问的答案。

数据范围

  • 1N,Q21051 \le N,Q \le 2 * 10^5
  • 109Ai109-10^9 \le A_i \le 10^9
  • 1lrN1 \le l \le r \le N
  • 1krl+11 \le k \le r-l+1
5 4
5 1 3 3 9
1 5 1
1 5 3
2 4 2
3 5 3
1
3
3
9