This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MX = 2e5 + 5;
int N, Q;
ll A[MX];
ll calc() {
ll res = 0;
for(int x = 1; x + 1 <= N; x++) {
if(A[x] == A[x + 1]) continue;
if(A[x] < A[x + 1]) {
int y = x;
while(y + 1 <= N && A[y] < A[y + 1]) y++;
res += A[y] - A[x];
x = y;
} else {
int y = x;
while(y + 1 <= N && A[y] > A[y + 1]) y++;
res += A[x] - A[y];
x = y;
}
}
return res;
}
int main() {
cin.tie(0); ios_base::sync_with_stdio(0);
cin >> N >> Q;
for(int i = 1; i <= N; i++) cin >> A[i];
for(int i = 1; i <= Q; i++) {
ll l, r, x;
cin >> l >> r >> x;
for(int j = l; j <= r; j++) A[j] += x;
cout << calc() << '\n';
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |