Submission #1139418

#TimeUsernameProblemLanguageResultExecution timeMemory
1139418vako_pSjeckanje (COCI21_sjeckanje)C++20
0 / 110
0 ms320 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back

const int mxN = 1e6 + 5;
ll n,q,a[mxN],b[mxN];

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin >> n >> q;
	for(int i = 1; i <= n; i++){
		cin >> a[i];
	}
	while(q--){
		ll l,r,x;
		cin >> l >> r >> x;
		for(int i = l; i <= r; i++) a[i] += x;
		for(int i = 1; i < n; i++) b[i] = a[i + 1] - a[i];
		ll ans = 0,sum[2] = {0, 0},i = 1;
		while(i < n){
			if((b[i] >= 0) != (b[i + 1] >= 0)){
				sum[0] = sum[1] = 0;
				while(i < n and (b[i] >= 0) != (b[i + 1] >= 0)){
					sum[i % 2] += abs(b[i]);
					i++;
				}
				sum[i % 2] += abs(b[i]);
				i++;
				ans += max(sum[0],sum[1]);
				continue;
			}
			ans += abs(b[i++]);
		}
		cout << ans << '\n';
	}
} 
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...