#include <cstdio>
#include <vector>
using namespace std;
int n, k;
vector<int> A;
int main() {
scanf("%d %d", &n, &k);
A.resize(n);
for(int i=0; i<n; ++i) scanf("%d", &A[i]);
int result = 0;
for(int i=0; i<n-1; ++i) if (A[i] > A[i+1] + k) {
int diff = A[i] - k - A[i+1];
result += diff;
A[i+1] += diff;
}
for(int i=n-1; i>0; --i) if (A[i] > A[i-1] + k) {
int diff = A[i] - k - A[i-1];
result += diff;
A[i-1] += diff;
}
printf("%d\n", result);
return 0;
}
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 26 27 28 | #include <cstdio> #include <vector> using namespace std; int n, k; vector<int> A; int main() { scanf("%d %d", &n, &k); A.resize(n); for(int i=0; i<n; ++i) scanf("%d", &A[i]); int result = 0; for(int i=0; i<n-1; ++i) if (A[i] > A[i+1] + k) { int diff = A[i] - k - A[i+1]; result += diff; A[i+1] += diff; } for(int i=n-1; i>0; --i) if (A[i] > A[i-1] + k) { int diff = A[i] - k - A[i-1]; result += diff; A[i-1] += diff; } printf("%d\n", result); return 0; } |
English