loj#P2332. 「JOI 2017 Final」焚风现象

「JOI 2017 Final」焚风现象

問題文

IOI 国では海から陸に向かって常に風が吹いている.風は地点 00 から地点 11,地点 22,... という経路を通りながら地点 NN まで吹く.地点 NN には JOI 君の家が建てられている.地点 00 の標高は A0=0A_0 = 0 であり,地点 ii (1iN)(1 \leqq i \leqq N) の標高は AiA_i である.

風は地表面に沿って吹き,高度の変化に応じて風の温度が変化する.海に接している地点 00 での風の温度は 00 度であり,すべての ii (0iN1)(0 \leqq i \leqq N-1) に対して,地点 ii から地点 i+1i + 1 にかけての風の温度の変化はその時点における AiA_iAi+1A_{i+1} にのみ依存しており,以下のようになっている.

  • Ai<Ai+1A_i < A_{i+1} のとき,標高が 11 上がるごとに風の温度は SS 度下がる.
  • AiAi+1A_i \geqq A_{i+1} のとき,標高が 11 下がるごとに風の温度は TT 度上がる.

IOI 国の領土では地殻変動が盛んである.あなたは,QQ 日間の地殻変動のデータを入手した.jj 日目 (1jQ)(1 \leqq j \leqq Q) には,LjkRjL_j \leqq k \leqq R_j (1LjRjN)(1 \leqq L_j \leqq R_j \leqq N) を満たす地点の標高 AkA_kXjX_j だけ変化する.XjX_j が非負のときは,標高が XjX_j だけ上がることを意味し,XjX_j が負のときは,標高が Xj|X_j| だけ下がることを意味する.

あなたの仕事は,各地殻変動が起こった後の,JOI 君の家に吹く風の温度を求めることである.

課題

地殻変動が起きる前の標高と地殻変動の情報が与えられたとき,すべての整数 jj (1jQ)(1 \leq j \leqq Q) に対し,jj 日目の地殻変動が起こった後の JOI 君の家に吹く風の温度を求めるプログラムを作成せよ.

入力

1 行目には,4 個の整数 N,Q,S,TN, Q, S, T が空白を区切りとして書かれている.これらは,JOI 君の家が地点 NN に建てられており,地殻変動の回数が QQ であり,標高が 11 上がるごとに風の温度が SS 度下がり,11 下がるごとに TT 度上がることを表す.

続く N+1N + 1 行のうちの ii 行目 (1iN+1)(1 \leqq i \leqq N + 1) には,地点 i1i - 1 での地殻変動が起こる前の標高を表す整数 Ai1A_{i-1} が書かれている.

続く QQ 行のうちの jj 行目 (1jQ)(1 \leqq j \leqq Q) には,3 個の整数 Lj,L_j, Rj,R_j, XjX_j が空白を区切りとして書かれている.これらは,jj 日目の地殻変動で地点 LjL_j から RjR_j までの標高が XjX_j だけ変化することを表す.

出力

出力は QQ 行からなる.標準出力の jj 行目 (1jQ)(1 \leq j \leq Q) には,jj 日目の地殻変動が起こった後の JOI 君の家 に吹く風の温度を出力せよ.

3 5 1 2
0
4
1
8
1 2 2
1 1 -2
2 3 5
1 2 -1
1 3 5
-5
-7
-13
-13
-18
2 2 5 5
0
6
-1
1 1 4
1 2 8
5
-35
7 8 8 13
0
4
-9
4
-2
3
10
-9
1 4 8
3 5 -2
3 3 9
1 7 4
3 5 -1
5 6 3
4 4 9
6 7 -10
277
277
322
290
290
290
290
370

制限

すべての入力データは以下の条件を満たす.

  • 1N,Q2×1051\leqq N, Q\leqq 2\times 10^5
  • 1S,T1061\leqq S, T\leqq 10^6
  • A0=0,A_0=0, Ai106|A_i|\leqq 10^6 (1iN)(1\leqq i\leqq N)
  • 1LjRjN1\leqq L_j\leqq R_j\leqq N
  • Xj106|X_j|\leqq 10^6 (1jQ)(1\leqq j\leqq Q)

小課題

小課題 1 [30 点] \quad N,Q2000N, Q\le 2000 を満たす.
小課題 2 [10 点] \quad S=TS=T を満たす.
小課題 3 [60 点] \quad 追加の制限はない.