#793
Unrated
ダンジョン3
서브테스크
시간 제한
3s
메모리 제한
512MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

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

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

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

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

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

입력

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

$N$ $M$
$A_1$ $\ldots$ $A_N$
$B_1$ $\ldots$ $B_N$
$S_1$ $T_1$ $U_1$
$\vdots$
$S_M$ $T_M$ $U_M$

출력

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

예제 입력 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

-1
29
3
22

예제 입력 2

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

예제 출력 2

208
112
179
248
158
116
234
162
42
-1

예제 입력 3

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

예제 출력 3

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

제한

  • 1N2000001 \le N \le 200\,000
  • 1M2000001 \le M \le 200\,000
  • 1Ai2000001 \le A_i \le 200\,0001iN1 \le i \le N).
  • 1Bi2000001 \le B_i \le 200\,0001iN1 \le i \le N).
  • 1Sj<TjN+11 \le S_j < T_j \le N + 11jM1 \le j \le M).
  • 1Uj1000000001 \le U_j \le 100\,000\,0001jM1 \le j \le M).

서브태스크

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

プレイヤー 11 は,体力の上限が 33 であるため,第 22 層から第 33 層へ進むことができない.そのため,11 行目の出力は 1-1 となる.

一方で,プレイヤー 22 は体力の上限が 44 であるため,以下のようにして第 66 層まで進むことができる.

  • 11 層でコインを 88 枚使って体力を 44 にし,第 22 層に進む.このとき,体力は 11 となる.
  • 22 層でコインを 1515 枚使って体力を 44 にし,第 33 層に進む.このとき,体力は 00 となる.
  • 33 層でコインを 44 枚使って体力を 44 にし,第 44 層に進む.このとき,体力は 33 となる.
  • 44 層ではコインを使わずに,第 55 層に進む.このとき,体力は 22 となる.
  • 55 層でコインを 22 枚使って体力を 44 にし,第 66 層に進む.このとき,体力は 00 となる.

合計 2929 枚のコインを使う.2929 枚未満のコインで第 66 層まで進むことはできないので,22 行目の出力は 2929 となる.

この入力例は小課題 33 の制約を満たしている.

코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Unrated0명 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.