Submission #1270103

#TimeUsernameProblemLanguageResultExecution timeMemory
1270103cmiucFoehn Phenomena (JOI17_foehn_phenomena)C++20
30 / 100
9 ms2372 KiB
#include <iostream>

using namespace std;
#define int long long
const int N = 1<<17;
int a[N], d[N];

void Add(int &Ans, int di, int s, int t, int k){
	if (di > 0)
		Ans -= s * di * k;
	else
		Ans -= t * di * k;
}

signed main(){
	ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
	int n, q, s, t, Ans = 0;
	cin>>n>>q>>s>>t;

	for (int i=0;i<=n;i++){
		cin>>a[i];
		if (i == 0)
			continue;
		d[i] = a[i] - a[i-1];
		Add(Ans, d[i], s, t, 1);
	}

	for (int i=1;i<=q;i++){
		int l, r, x;
		cin>>l>>r>>x;

		Add(Ans, d[l], s, t, -1);
		d[l] += x;
		Add(Ans, d[l], s, t, 1);

		if (r != n){
			Add(Ans, d[r+1], s, t, -1);
			d[r+1] -= x;
			Add(Ans, d[r+1], s, t, 1);
		}
		cout<<Ans<<'\n';
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...