#joi2020hoe. [joi2020ho_e]火事 (Fire)

[joi2020ho_e]火事 (Fire)

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

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

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

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

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


入力

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

NN QQ S1S_1 cdots\\cdots SNS_N T1T_1 L1L_1 R1R_1 vdots\\vdots TQT_Q LQL_Q RQR_Q

出力

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


制約

  • 1leqqNleqq200,0001 \\leqq N \\leqq 200\\,000
  • 1leqqQleqq200,0001 \\leqq Q \\leqq 200\\,000
  • 1leqqSileqq1,000,000,0001 \\leqq S_i \\leqq 1\\,000\\,000\\,000 (1leqqileqqN1 \\leqq i \\leqq N).
  • 1leqqTjleqqN1 \\leqq T_j \\leqq N (1leqqjleqqQ1 \\leqq j \\leqq Q).
  • 1leqqLjleqqRjleqqN1 \\leqq L_j \\leqq R_j \\leqq N (1leqqjleqqQ1 \\leqq j \\leqq Q).

小課題

  1. (11 点) Nleqq200N \\leqq 200Qleqq200Q \\leqq 200
  2. (66 点) T1=T2=cdots=TQT_1 = T_2 = \\cdots = T_Q
  3. (77 点) Lj=RjL_j = R_j (1leqqjleqqQ1 \\leqq j \\leqq Q).
  4. (66 点) Sileqq2S_i \\leqq 2 (1leqqileqqN1 \\leqq i \\leqq N).
  5. (8080 点) 追加の制約はない.

入力例 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
  • 時刻 00 における各区画の火の強さは,区画 11 から順に 9,3,2,6,59, 3, 2, 6, 5 である.
  • 時刻 11 における各区画の火の強さは,区画 11 から順に 9,9,3,6,69, 9, 3, 6, 6 である.よって,11 番目の計画に必要な消火剤の量は 9+9+3=219 + 9 + 3 = 21 リットルである.
  • 時刻 22 における各区画の火の強さは,区画 11 から順に 9,9,9,6,69, 9, 9, 6, 6 である.よって,22 番目の計画に必要な消火剤の量は 9+9+9+6+6=399 + 9 + 9 + 6 + 6 = 39 リットルである.
  • 時刻 33 における各区画の火の強さは,区画 11 から順に 9,9,9,9,69, 9, 9, 9, 6 である.よって,33 番目の計画に必要な消火剤の量は 9+9+9+6=339 + 9 + 9 + 6 = 33 リットルである.
  • 時刻 44 における各区画の火の強さは,区画 11 から順に 9,9,9,9,99, 9, 9, 9, 9 である.よって,44 番目の計画に必要な消火剤の量は 99 リットルである.
  • 時刻 55 における各区画の火の強さは,区画 11 から順に 9,9,9,9,99, 9, 9, 9, 9 である.よって,55 番目の計画に必要な消火剤の量は 9+9+9=279 + 9 + 9 = 27 リットルである.

入力例 11 は小課題 1,51, 5 の制約を満たす.


入力例 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

入力例 22 は小課題 1,51, 5 の制約を満たす.


入力例 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

入力例 33 は小課題 1,3,51, 3, 5 の制約を満たす.


入力例 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

入力例 44 は小課題 1,2,51, 2, 5 の制約を満たす.


入力例 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

入力例 55 は小課題 1,4,51, 4, 5 の制約を満たす.