焚风现象
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

焚风是是由于空气作绝热下沉运动时,因温度升高湿度降低而形成的一种干热风。焚风常出现在山脉背风坡,由山地引发的过山气流在背风坡下沉,使过山气流变得干热的一种风。在高压区,空气下沉也可产生焚风。
IOI王国永远刮着海风。风从地点0依次吹到地点1,地点2……直到地点N,共N+1个地点。JOI君住在地点N。地点0的海拔,地点i的海拔为A_i
地表风的温度随海拔升降而变化。地点0在海边,温度为0度;对于任一地点i,从地点i吹到地点i+1的风的温差仅取决于两地的海拔差。具体来说:
  • 如果,风的温度不变;
  • 如果,风每爬升1米,温度就会下降S度;
  • 如果,风每下沉1米,温度就会升高T度。
IOI国的地壳运动很强烈。你得到了Q天来地壳运动的数据。在第j日,地点的海拔升高了X_j,注意X_j可能是负数。
你的任务是,计算每天地壳运动后JOI君住所的温度。

输入描述:

第一行有四个整数N,Q,S,T,用空格分隔。
在接下来的N+1行中,第i行有一个整数
在接下来的Q行中,第j行有三个整数L_j,R_j,X_j,用空格分隔。
输入的所有数的含义见题目描述。

输出描述:

共Q行,第j行有一个整数,表示第j日地壳运动后JOI君住所的温度。
示例1

输入

复制
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

说明

最初,地点0,1,2,3的海拔分别是0,4,1,8。第一天地壳运动后,海拔分别为0,6,3,8。此时,风的温度分别为0,-6,0,-5。
示例2

输入

复制
2 2 5 5
0
6
-1
1 1 4
1 2 8

输出

复制
5
-35
示例3

输入

复制
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

备注:

对于的数据,
对于另外的数据,S=T;
对于所有数据,

CC-BY-SA,感谢LOJ分享,译文来自https://loj.ac/problem/2332