OUPC2025 OPENコンテスト 2026/03/29 09:00 ~ 2026/03/29 14:00 5:00:00.000

M Summonion

問題
制限時間: 2 sec メモリ制限: 1024 MB
Summonion
Statement

長さ \(N-1\) の正整数列 \(A = (A_1, A_2, \ldots, A_{N-1})\) と、\(Q\) 個のクエリが与えられます。\(q\) 番目のクエリでは正整数の組 \((L_q, R_q, X_q)\) が与えられるので、以下の問題を解いてください。

  • 魔法使いであるあなたは、以下のルールに従って魔法を \(1\) 回以上 \(N\) 回以下使うことができます。
    • \(L_q \leq s \leq R_q\) を満たす正整数 \(s\) に対して、時刻 \(s\) に魔法を使うことができる。
    • 時刻 \(s\) に魔法を使うと、 \(s\) 個のたまねぎが召喚される。
    • 時刻 \(s\) に \(t\) 回目(\(1 \leq t \leq N-1\))の魔法を使うとき、\(t+1\) 回目の魔法は時刻 \(s + A_t - 0.5\) まで使えない。

    合計でちょうど \(X_q\) 個のたまねぎが召喚されるように魔法を使うことが可能であるか判定し、もし可能であるならば最後に使う魔法の時刻としてあり得る最小値を求めてください。

なお、各クエリにおいて魔法は一度も使われていない状態から始まります。

Input

入力は以下の形式で標準入力から与えられます。

\(N\)
\(A_1\) \(A_2\) \(\ldots\) \(A_{N-1}\)
\(Q\)
\(L_1\) \(R_1\) \(X_1\)
\(\vdots\)
\(L_Q\) \(R_Q\) \(X_Q\)

入力は以下の制約をすべて満たします。

  • \(1 \leq N \leq 2 \times 10^5\)
  • \(1 \leq A_i \leq 10^8\)
  • \(1 \leq Q \leq 2 \times 10^5\)
  • \(1 \leq L_i \leq R_i \leq 10^8\)
  • \(1 \leq X_i \leq 10^8 \times N\)
  • 入力はすべて整数

Output

\(Q\) 行出力してください。

\(q\) \((1 \leq q \leq Q)\) 行目には、\(q\) 番目のクエリに対する答えを以下のように出力してください。

合計でちょうど \(X_q\) 個のたまねぎが召喚されるように魔法を使うことが可能である場合、最後に使う魔法の時刻としてあり得る最小値を出力してください。

合計でちょうど \(X_q\) 個のたまねぎが召喚されるように魔法を使うことが不可能である場合、 \(-1\) を出力してください。

Scoring

以下の追加制約を満たすデータセットに正解した場合、部分点が与えられます。

  • (15点): \(N \leq 2,\; Q \leq 50\)
  • (15点): \(Q \leq 50\)
  • (70点): 追加の制約はありません

Examples

Input 1
4
1 2 3
4
1 10 10
4 10 10
5 10 10
11 11 10
Output 1
5
6
10
-1
Input 2
2
100000000
1
1 1 1
Output 2
1