제출 #1152503

#제출 시각아이디문제언어결과실행 시간메모리
1152503YSH2020Sjeckanje (COCI21_sjeckanje)C++20
0 / 110
1 ms320 KiB
#include <bits/stdc++.h> using namespace std; #define int long long signed main() { int n, q; cin >> n >> q; int a[n]; for (int i = 0; i < n; i++) cin >> a[i]; while (q--) { int x, b, c; cin >> x >> b >> c; x--; b--; for (int i = x; i <= b; i++) a[i] += c; /*int dp[n]; for (int i = 0; i < n; i++) dp[i] = 0; for (int i = 1; i < n; i++) { int largest = a[i]; int smallest = a[i]; for (int j = i-1; j >= 0; j--) { largest = max(largest, a[j+1]); smallest = min(smallest, a[j+1]); dp[i] = max(dp[i], dp[j]+largest-smallest); } largest = max(largest, a[0]); smallest = min(smallest, a[0]); dp[i] = max(dp[i], largest-smallest); } for (int i = 0; i < n; i++) cout << a[i] << ' '; cout << '\n'; for (int i = 0; i < n; i++) cout << dp[i] <<' '; cout << '\n' << '\n';*/ int ans = 0; int cur_small = a[0]+20; int cur_big = a[0]-20; for (int i = 0; i < n; i++) { if (a[i] < cur_small or a[i] > cur_big) { cur_small = min(a[i], cur_small); cur_big = max(cur_big, a[i]); } else { ans += cur_big-cur_small; cur_small = a[i]; cur_big = a[i]; } } ans += cur_big-cur_small; cout << ans << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...