만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

최선 부분 수열

시간 제한7초메모리 제한1024 MB

요약
각 질의의 구간에서 길이가 K인 부분수열을 고르고, 원형으로 이웃한 두 원소의 합이 모두 W 이하가 되는 최소 W를 구합니다.
난이도

어려움10점 중 8점

유형
배열, 정렬, 이분 탐색, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

수열 B_1...mB\_{1...m}에 대해, 다음 두 조건을 만족하는 수열 C_1...kC\_{1...k}가 존재하면 WW를 BB의 kk-best number라고 부른다.

  1. C_1...kC\_{1...k}는 B_1...mB\_{1...m}의 부분 수열이다.
  2. ∀i∈\[1,k],C_i+C_(i mod k)+1≤W\forall i \in \[1, k], C\_{i} + C\_{(i \bmod k) + 1} \le W.

수열 A_1...nA\_{1...n}이 주어진다. QQ개의 질의에 답하라. 각 질의는 세 정수 L,R,KL, R, K로 이루어지며, A_L...RA\_{L...R}의 최소 KK-best number를 구해야 한다.

수열 CC가 BB의 부분 수열이라는 것은, BB에서 일부 원소(없거나 전부일 수도 있음)를 제거해 CC를 얻을 수 있다는 뜻이다.

입력

첫 줄에 두 정수 nn, QQ (1≤n,Q≤1051 \le n, Q \le 10^5)가 주어진다.

둘째 줄에는 nn개의 정수 A_1...nA\_{1...n} (0≤A_i≤1090 \le A\_i \le 10^9)이 주어진다.

이후 QQ개의 줄에 각각 질의를 나타내는 세 정수 L,R,KL, R, K (1≤L≤R≤n1 \le L \le R \le n; 1≤K≤R−L+11 \le K \le R - L + 1)가 주어진다.

출력

각 질의마다 답을 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    5 3
    2 6 1 5 4
    1 5 4
    1 3 2
    1 5 3
    
    예상 출력
    8
    3
    6