P11790 [JOI 2017 Final] 焚风现象 / Foehn Phenomena

题目描述

你知道 $N+1$ 个地点的海拔 $A_i$,编号为 $0 \dots N$,有风从 $0$ 吹向 $N$,想让你求出地点 $N$ 的风的温度,保证 $A_0=0$。 规则: - 如果 $A_i=A_{i+1}$,风的温度不变。 - 如果 $A_i>A_{i+1}$,由于海拔降低,风的温度会上升 $(A_i-A_{i+1})\times T$ 度。 - 如果 $A_i

输入格式

- 第一行输入包括四个被空格隔开的整数 $N,Q,S,T$。这表示 JOI 先生在地点 $N$ 有一所房子,有 $Q$ 次地壳运动,海拔每上升 $1$ 米的话,风的温度会降低 $S$ 度,海拔每下降一米的话,风的温度会上升 $T$ 度。 - 接下来的 $N+1$ 行中第 $i$ 行 $(1\leq i\leq N+1)$ 包含一个整数 $A_{i-1}$,表示地壳运动前地点 $i-1$ 的海拔高度。 - 接下来的 $Q$ 行中第 $j$ 行 $(1\leq j\leq Q)$ 包括三个被空格隔开的整数 $L_j,R_j,X_j$,这表示第 $j$ 天地壳运动使地点 $L_j$ 到地点 $R_j$ 中这些地点的海拔变化了 $X_j$。

输出格式

输出 $Q$ 行,第 $j$ 行的输出代表第 $j$ 天地壳运动后 JOI 先生家的风的温度。 (即 $N$ 位置的风的温度。)

说明/提示

【数据范围与约定】 对于所有数据,均满足: - $1\le N\le 200000$。 - $1\le Q\le 200000$。 - $1\le S\le 1000000$。 - $1\le T\le 1000000$。 - $-1000000\le A_i\le 1000000(1\le i\le N)$. - $1\le L_j\le R_j\le N ( 1\le j\le Q)$。 - $−1000000\le Xj\le 1000000 (1\le j\le Q)$。 1. Subtask $1$($30$ pts):满足 $N,Q \le 2000$。 2. Subtask $1$($10$ pts):满足 $S=T$。 3. Subtask $1$($60$ pts):无特殊限制。