题目描述
相信大家都见过这样的题目:给一个长度为 n 的数据,有 m 次询问,每次询问有两个整数 l,r,输出区间 [l, r] 的最大值,这样的题目相信大家都做腻了,
所以现在升级一下,其他条件不变,输出区间 [l, r] 次大值,例如 [1, 2, 3, 4, 5],最大值是 5,次大值是 4。
注意:为了减少难度,只会有区间查询,不进行区间修改
数据保证每次查询区间最少会有两个数字,并且 l 和 r 的范围一定小于数组的长度,如果区间数字为 [5, 5],那么最大值和次大值都为 5.
输入描述
第一行两个正整数 n,m,表示数组的长度为 n 以及查询的次数 m。
第二行有 n 个整数,两个整数之间空格隔开,表示数组的值。
下面 m 行,每行两个正整数 l,r,表示要查询的区间。
输出描述
输出 m 行,表示每次查询的答案。
数据范围
2 <= n <= 1e5,1 <= m <= 1e5, r - l >= 1,r <= n,数组中的每个值的范围 [0,1e9]。
样例输入
5 3 2 4 1 3 9 1 4 1 5 3 4
样例输出
3 4 1