Submission #751490

#TimeUsernameProblemLanguageResultExecution timeMemory
751490vjudge1Foehn Phenomena (JOI17_foehn_phenomena)C++14
100 / 100
429 ms13036 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,q,s,t,ans,l,r,h;
ll a[200200];
ll dist[200200];
ll x,y;
int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cin >> n >> q >> s >> t;
	cin >> a[0];
	for(int i=1; i<=n; i++) {
		cin >> a[i];
		dist[i] = a[i] - a[i-1];
		if(dist[i] > 0) {
			x += dist[i];
		}
		else {
			y += dist[i];
		}
	}
	for(int i=1; i<=q; i++) {
		cin >> l >> r >> h;
		if(dist[l] > 0) {
			x -= dist[l];
		}
		else {
			y -= dist[l];
		}
		if(dist[l] + h > 0) {	
			x += dist[l] + h;
		}
		else {
			y += dist[l] + h;
		}
		dist[l] += h;
		if(r != n) {
			if(dist[r+1] > 0) {
				x -= dist[r+1];
			}
			else {
				y -= dist[r+1];
			}
			if(dist[r+1] - h > 0) {	
				x += dist[r+1] - h;
			}
			else {
				y += dist[r+1] - h;
			}
			dist[r+1] -= h;
		}
		cout << abs(y)*t - x*s << endl;
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...