Submission #1278717

#TimeUsernameProblemLanguageResultExecution timeMemory
1278717IBoryFoehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
75 ms6624 KiB
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

const int MAX = 200007;
ll A[MAX], d, u;

void Change(int i, ll n) {
	(A[i] < 0 ? d += A[i] : u -= A[i]);
	A[i] += n;
	(A[i] < 0 ? d -= A[i] : u += A[i]);
}

int main() {
	ios::sync_with_stdio(0); cin.tie(0);
	ll N, Q, S, T;
	cin >> N >> Q >> S >> T;
	for (int i = 0; i <= N; ++i) cin >> A[i];
	for (int i = N; i > 0; --i) A[i] = A[i] = A[i] - A[i - 1];
	for (int i = 1; i <= N; ++i) {
		if (A[i] >= 0) u += A[i];
		else d -= A[i];
	}
	while (Q--) {
		ll l, r, n;
		cin >> l >> r >> n;
		Change(l, n);
		if (r != N) Change(r + 1, -n);
		cout << d * T - u * S << '\n';
	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...