#ds602. 区间lower bound查询

区间lower bound查询

区间lower bound查询

题目描述

给你nn个数a1,a2,…,ana_1, a_2, \dots, a_n,和qq个询问:

  • l r x,询问al,al+1,…,ara_l, a_{l+1}, \dots, a_r中大于等于xx的最小的数。

输入格式

第一行两个整数n,q(1≤n,q≤2×105)n, q (1\leq n, q\leq 2\times 10^5)。

接下来一行nn个整数a1,a2,…,an(1≤ai≤109)a_1, a_2, \dots, a_n (1\leq a_i\leq 10^9)。

接下来qq行,每行三个整数l,r,x(1≤l≤r≤n,1≤x≤109)l, r, x (1\leq l\leq r\leq n, 1\leq x\leq 10^9)。

输出格式

对于每组询问,输出一个数,表示答案,如果不存在,输出-1。

样例输入

5 5
2 4 1 5 3
1 5 6
1 4 3
3 4 3
2 4 2
3 3 1

样例输出

-1
4
5
4
1