#include <bits/stdc++.h>
using namespace std;
using ind = long long;
using cind = const ind;
#define FOR(i,l,r) for(int i = (l); i <= (r); i++)
#define FORD(i,l,r) for(int i = (l); i >= (r); i--)
int main(){
ind N, K; cin >> N >> K;
ind v[1'001];
ind sum1=0;
ind sum2=0;
FOR(i,1,N) cin >> v[i];
FOR(i,1,N) sum1 += v[i];
FOR(i,2,N) v[i] = max(v[i], v[i-1] - K);
FORD(i,N-1,1) v[i] = max(v[i], v[i+1] - K);
FOR(i,1,N) sum2 += v[i];
cout << sum2-sum1 << endl;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <bits/stdc++.h> using namespace std; using ind = long long; using cind = const ind; #define FOR(i,l,r) for(int i = (l); i <= (r); i++) #define FORD(i,l,r) for(int i = (l); i >= (r); i--) int main(){ ind N, K; cin >> N >> K; ind v[1'001]; ind sum1=0; ind sum2=0; FOR(i,1,N) cin >> v[i]; FOR(i,1,N) sum1 += v[i]; FOR(i,2,N) v[i] = max(v[i], v[i-1] - K); FORD(i,N-1,1) v[i] = max(v[i], v[i+1] - K); FOR(i,1,N) sum2 += v[i]; cout << sum2-sum1 << endl; } |
English