Submission #1069866

#TimeUsernameProblemLanguageResultExecution timeMemory
1069866n1kSjeckanje (COCI21_sjeckanje)C++17
15 / 110
2062 ms604 KiB
#include <bits/stdc++.h>

#if defined(LOCAL)
#include "debug.cpp"
#else
#define debug(x...) 0
#endif // LOCAL

using namespace std;

using ll = long long;

#define all(a) (a).begin(), (a).end()

void solve(){
	int n, q; cin >> n >> q;
	vector<ll> a(n);
	for(int i=0; i<n; i++) cin >> a[i];
	auto get = [&](vector<ll> a){
		vector<ll> dp(n+1);
		for(int i=0; i<n; i++){
			ll mn=a[i], mx = a[i];
			for(int j=i; j<n; j++){
				mn = min(mn, a[j]);
				mx = max(mx, a[j]);
				dp[j+1]=max(dp[j+1], dp[i]+mx - mn);
			}
		}
		return dp[n];
	};
	while(q--){
		ll l, r, add;
		cin>>l>>r>>add;
		l--, r--;
		for(int i=l; i<=r;i++) a[i]+=add;
		ll ans = get(a);
		cout<<ans<<endl;
	}
}

int main() {
	cin.tie(0)->sync_with_stdio(0);
	int t=1; //cin >> t;
	while(t--) solve();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...