#include <bits/stdc++.h>
#define N 1001
#define INF 1000000000
using namespace std;
int n, k;
int a[N];
int ma, mi;
int w;
int d;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> n >> k;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
w = 0;
for (int j = 0; j < n; j++) {
ma = 0;
mi = 0;
for (int i = 0; i < n; i++) {
if (a[i] > ma && a[i] != INF) {
ma = a[i];
mi = i;
}
}
if (mi > 0) {
d = a[mi] - a[mi - 1];
w += max(d - k, 0);
a[mi - 1] += max(d - k, 0);
}
if (mi < n - 1) {
d = a[mi] - a[mi + 1];
w += max(d - k, 0);
a[mi + 1] += max(d - k, 0);
}
a[mi] = INF;
}
cout << w <<"\n";
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | #include <bits/stdc++.h> #define N 1001 #define INF 1000000000 using namespace std; int n, k; int a[N]; int ma, mi; int w; int d; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> k; for (int i = 0; i < n; i++) { cin >> a[i]; } w = 0; for (int j = 0; j < n; j++) { ma = 0; mi = 0; for (int i = 0; i < n; i++) { if (a[i] > ma && a[i] != INF) { ma = a[i]; mi = i; } } if (mi > 0) { d = a[mi] - a[mi - 1]; w += max(d - k, 0); a[mi - 1] += max(d - k, 0); } if (mi < n - 1) { d = a[mi] - a[mi + 1]; w += max(d - k, 0); a[mi + 1] += max(d - k, 0); } a[mi] = INF; } cout << w <<"\n"; return 0; } |
English