loj#P3472. 「JOI 2021 Final」地牢 3

「JOI 2021 Final」地牢 3

問題文

N+1N + 1 層からなるダンジョンがあり,ダンジョン内には MM 人のプレイヤーがいる.ダンジョンの階層に は入口から近い順に第 11 層から第 N+1N + 1 層までの番号が付いている.また,プレイヤーには 11 から MM までの番号が付いている.

ダンジョンのある階層から次の階層へ進むには体力を要する.プレイヤーは,第 ii 層 (1iN1 \leq i \leq N) から第 i+1i + 1 層に進む際に体力を AiA_i 消費する.また,このダンジョンは一方通行であり,可能な階層間の移動は第 ii 層 (1iN1 \leq i \leq N) から第 i+1i + 1 層への移動のみである.

11 層から第 NN 層までの各階層には 11 つの回復の泉がある.第 ii 層 (1iN1 \leq i \leq N) にある回復の泉では,プレイヤーは BiB_i 枚のコインを消費することで体力を 11 回復させることができる.回復の泉は,コインがある限り何回でも使用することができる.ただし,プレイヤーの体力には上限があり,回復の泉を使っても,体力がその上限を超えることはない.

プレイヤー jj (1jM1 \leq j \leq M) は現在第 SjS_j 層にいる.現在の体力は 00 であり,体力の上限は UjU_j である.プレイヤー jj は,体力を 00 未満にすることなく第 TjT_j 層まで進もうとしている.そのためには何枚のコインが必要であろうか.

ダンジョンの情報と各プレイヤーの情報が与えられたとき,各プレイヤーが体力を 00 未満にせずに目標の 階層まで進むことが可能かを判定し,可能な場合には必要なコインの枚数の最小値を求めるプログラムを作成せよ.

入力

入力は以下の形式で標準入力から与えられる.入力される値はすべて整数である.

N MN\ M
A1ANA_1 \ldots A_N
B1BNB_1 \ldots B_N
S1 T1 U1S_1\ T_1\ U_1
\vdots
SM TM UMS_M\ T_M\ U_M

出力

標準出力に MM 行で出力せよ.第 jj 行目 (1jM1 \leq j \leq M) にはプレイヤー jj が第 TjT_j 層まで進むために必要なコインの枚数の最小値を出力せよ. ただし, プレイヤー jj が第 TjT_j 層まで進むことができない場合は −1 を出力せよ.

5 4
3 4 1 1 4
2 5 1 2 1
1 6 3
1 6 4
3 5 1
2 5 9
-1
29
3
22
10 10
1 8 9 8 1 5 7 10 6 6
10 10 2 8 10 3 9 8 3 7
2 11 28
5 11 28
7 11 28
1 11 18
3 11 18
8 11 18
4 11 11
6 11 11
10 11 11
9 11 5
208
112
179
248
158
116
234
162
42
-1
20 20
2 3 2 11 4 6 9 15 17 14 8 17 3 12 20 4 19 8 4 5
19 3 18 2 13 7 5 19 10 1 12 8 1 15 20 1 13 2 18 6
12 15 67
7 15 18
16 17 14
9 21 97
1 19 43
3 18 31
16 20 70
7 20 28
1 16 61
3 5 69
9 10 15
2 13 134
11 19 23
16 20 14
5 21 16
15 20 11
7 11 54
7 16 16
13 17 10
3 15 135

151
591
4
284
339
517
35
581
254
58
-1
178
519
-1
-1
-1
219
-1
-1
214

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1M2×1051 \leq M \leq 2 \times 10^5
  • 1Ai2×1051 \leq A_i \leq 2 \times 10^5 (1iN1 \leq i \leq N).
  • 1Bi2×1051 \leq B_i \leq 2 \times 10^5 (1iN1 \leq i \leq N).
  • 1Si<TiN+11 \leq S_i < T_i \leq N+1 (1jM1 \leq j \leq M).
  • 1Ui1081 \leq U_i \leq 10^8 (1jM1 \leq j \leq M).

小課題

  1. (1111 点) N3000N \leq 3000, M3000M \leq 3000
  2. (1414 点) U1=U2==UMU_1 = U_2 = \ldots = U_M
  3. (3131 点) Tj=N+1T_j = N + 1 (1jM1 \leq j \leq M).
  4. (4444 点) 追加の制約はない.