#include <cstdio>
using namespace std;
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define FORD(i,a,b) for(int i=(b)-1;i>=(a);--i)
#define REP(i,n) FOR(i,0,n)
#define INT(x) int x; scanf("%d", &x)
int a[1000];
int main() {
INT(n);
INT(k);
REP(i,n) scanf("%d", &a[i]);
int r = 0;
REP(i,n-1) if (a[i + 1] < a[i] - k) {
r += a[i] - k - a[i + 1];
a[i + 1] = a[i] - k;
}
FORD(i,1,n) if (a[i - 1] < a[i] - k) {
r += a[i] - k - a[i - 1];
a[i - 1] = a[i] - k;
}
printf("%d\n", r);
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <cstdio> using namespace std; #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define FORD(i,a,b) for(int i=(b)-1;i>=(a);--i) #define REP(i,n) FOR(i,0,n) #define INT(x) int x; scanf("%d", &x) int a[1000]; int main() { INT(n); INT(k); REP(i,n) scanf("%d", &a[i]); int r = 0; REP(i,n-1) if (a[i + 1] < a[i] - k) { r += a[i] - k - a[i + 1]; a[i + 1] = a[i] - k; } FORD(i,1,n) if (a[i - 1] < a[i] - k) { r += a[i] - k - a[i - 1]; a[i - 1] = a[i] - k; } printf("%d\n", r); } |
English