#788
Unrated
火事 (Fire)
서브테스크
시간 제한
2s
메모리 제한
256MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

JOI 村には NN 個の区画があり,11 から NN までの番号が付いている.これらの区画は番号順に一列に並んでいる.今,各区画では火事が発生しており,時刻 00 における区画 ii (1iN1 \le i \le N) の火の強さは SiS_i (Si>0S_i > 0) である.

時刻 00 に,区画 11 から区画 NN の方向に風が吹き始めた.隣り合う 22 つの区画について,時刻 tt (0t0 \le t) において風上の区画の火が風下の区画の火より強いとき,時刻 t+1t + 1 における風下の区画の火の強さは,時刻 tt における風上の区画の火の強さと同じになってしまう.そうでないときは,時刻 t+1t + 1 における風下の区画の火の強さは,時刻 tt と同じである.すなわち,時刻 tt (0t0 \le t) における区画 ii (1iN1 \le i \le N) の火の強さを Si(t)S_i(t) と書くとすると,1t1 \le t ならば,Si(t)=max{Si1(t1),Si(t1)}S_i(t) = \max\{S_{i-1}(t - 1), S_i(t - 1)\} となる.ただし,任意の tt (0t0 \le t) に対して,S0(t)=0S_0(t) = 0 とし,任意の ii (1iN1 \le i \le N) に対し Si(0)=SiS_i(0) = S_i とする.

消防士であるあなたは QQ 個の消火活動を計画した.QQ 個の計画のうちどれか 11 つだけを実施する予定である.jj 番目の計画 (1jQ1 \le j \le Q) は,時刻 TjT_j に,LjkRjL_j \le k \le R_j となるすべての区画 kk に消火剤を撒き,それらの区画を消火するというものである.火の強さが ss である区画を消火するためには ss リットルの消火剤が必要である.つまり,jj 番目の計画の消火活動には SLj(Tj)+SLj+1(Tj)++SRj(Tj)S_{L_j}(T_j) + S_{L_j+1}(T_j) + \ldots + S_{R_j}(T_j) リットルの消火剤が必要である.

どの計画を実行するか吟味するためにも,各計画に必要な消火剤の量が知りたい.

時刻 00 における火の強さの情報と消火活動の計画の情報が与えられたとき,各計画に必要な消火剤の量を求めるプログラムを作成せよ.

입력

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

N Q
S_1 \ldots S_N
T_1 L_1 R_1
\vdots
T_Q L_Q R_Q

출력

標準出力に QQ 行で出力せよ.第 jj 行目 (1jQ1 \le j \le Q) には jj 番目の計画に必要な消火剤の量を出力せよ.

예제 입력 1

5 5
9 3 2 6 5
1 1 3
2 1 5
3 2 5
4 3 3
5 3 5

예제 출력 1

21
39
33
9
27

예제 입력 2

10 10
3 1 4 1 5 9 2 6 5 3
1 1 6
2 8 10
4 2 7
8 3 3
6 1 10
3 2 8
5 1 9
7 4 5
9 7 9
10 10 10

예제 출력 2

28
21
34
4
64
43
55
9
27
9

예제 입력 3

10 10
3 1 4 1 5 9 2 6 5 3
1 6 6
2 8 8
4 2 2
8 3 3
6 1 1
3 4 4
5 5 5
7 10 10
9 8 8
10 7 7

예제 출력 3

9
9
3
4
3
4
5
9
9
9

예제 입력 4

10 10
3 1 4 1 5 9 2 6 5 3
7 1 6
7 8 10
7 2 7
7 3 3
7 1 10
7 2 8
7 1 9
7 4 5
7 7 9
7 10 10

예제 출력 4

28
27
34
4
64
43
55
9
27
9

예제 입력 5

20 20
2 1 2 2 1 1 1 1 2 2 2 1 2 1 1 2 1 2 1 1
1 1 14
2 3 18
4 10 15
8 2 17
9 20 20
4 8 19
7 2 20
11 1 5
13 2 8
20 1 20
2 12 15
7 1 14
12 7 18
14 2 17
9 19 20
12 12 12
6 2 15
11 2 15
19 12 17
4 1 20

예제 출력 5

25
30
12
32
2
24
38
10
14
40
8
28
24
32
4
2
28
28
12
40

제한

  • 1N2000001 \le N \le 200\,000
  • 1Q2000001 \le Q \le 200\,000
  • 1Si10000000001 \le S_i \le 1\,000\,000\,000 (1iN1 \le i \le N).
  • 1TjN1 \le T_j \le N (1jQ1 \le j \le Q).
  • 1LjRjN1 \le L_j \le R_j \le N (1jQ1 \le j \le Q).

서브태스크

  1. (11 점) N200N \le 200Q200Q \le 200
  2. (66 점) T1=T2==TQT_1 = T_2 = \ldots = T_Q
  3. (77 점) Lj=RjL_j = R_j (1jQ1 \le j \le Q).
  4. (66 점) Si2S_i \le 2 (1iN1 \le i \le N).
  5. (8080 점) 追加の制約はない.
코드 제출

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

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