문제

길이가 $N$인 수열 $a$가 주어진다. 다음의 쿼리를 $Q$개 처리하라.
- $l\ r\ k$: $l \leq i < j \leq r$, $a_i + a_j \geq k$ 를 만족하는 $(i, j)$ 중 $j - i$의 최솟값을 출력하라. 그런 $(i, j)$가 존재하지 않는다면
-1을 대신 출력한다.
입력
첫째 줄에 두 정수 $N, Q$가 공백으로 구분되어 주어진다. $(2 \leq N \leq 200\,000; 1 \leq Q \leq 200\,000)$
둘째 줄에 $N$개의 정수 $a_1, a_2, \cdots, a_N$이 공백으로 구분되어 주어진다. $(1\leq a_i \leq 10^9)$
셋째 줄부터 $Q$개의 줄에 걸쳐 쿼리를 나타내는 세 정수 $l,r,k$가 공백으로 구분되어 주어진다. $(1\leq l < r \leq N; 1\leq k \leq 10^9)$
출력
첫째 줄부터 $Q$개의 줄에 걸쳐 $i$번째 줄에 $i$번째 쿼리의 답을 출력한다.
예제 입력 1
5 4 2 4 1 3 4 1 3 3 1 4 7 2 5 8 1 5 9
예제 출력 1
1 2 3 -1
출처
Contest > BOJ User Contest > 월간 향유회 > 월간 향유회 2025. 12. D번
- 문제를 만든 사람: pyb1031
- 문제를 검수한 사람: kiwiyou, utilforever