#include <bits/stdc++.h>
using namespace std;
using ll=long long;
const int MAX=1007;
ll tab[MAX];
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
ll n, k;
cin >> n >> k;
for (int i=1; i<=n; i++) cin >> tab[i];
ll wyn=0;
for (int i=2; i<=n; i++) {
if (tab[i] < tab[i-1]-k) {
wyn += tab[i-1]-tab[i]-k;
tab[i] += tab[i-1]-tab[i]-k;
}
else if (tab[i] > tab[i-1]+k) {
for (int j=i-1; j>=1; j--) {
if (tab[j] < tab[j+1]-k) {
wyn += tab[j+1]-tab[j]-k;
tab[j] += tab[j+1]-tab[j]-k;
}
else break;
}
}
}
cout << wyn << "\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 | #include <bits/stdc++.h> using namespace std; using ll=long long; const int MAX=1007; ll tab[MAX]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); ll n, k; cin >> n >> k; for (int i=1; i<=n; i++) cin >> tab[i]; ll wyn=0; for (int i=2; i<=n; i++) { if (tab[i] < tab[i-1]-k) { wyn += tab[i-1]-tab[i]-k; tab[i] += tab[i-1]-tab[i]-k; } else if (tab[i] > tab[i-1]+k) { for (int j=i-1; j>=1; j--) { if (tab[j] < tab[j+1]-k) { wyn += tab[j+1]-tab[j]-k; tab[j] += tab[j+1]-tab[j]-k; } else break; } } } cout << wyn << "\n"; return 0; } |
English