#include <bits/stdc++.h>
using namespace std;
const int mxn = 1005;
int arr[mxn];
int res;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n, k; cin >> n >> k;
for (int i = 0; i < n; i++)
cin >> arr[i];
bool swp = 1;
while (swp){
swp = 0;
for (int i = n-1; i > 0; i--){
if (arr[i] - arr[i-1] > k){
res += (arr[i] - arr[i-1] - k);
arr[i-1] += arr[i] - arr[i-1] - k;
swp=1;
}
if (arr[i-1] - arr[i] > k){
res += (arr[i-1] - arr[i] - k);
arr[i] += arr[i-1] - arr[i] - k;
swp=1;
}
}
// for (int i = 0; i < n; i++)
// cerr << arr[i] << ' ';
// cerr << '\n';
}
cout << res << '\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 | #include <bits/stdc++.h> using namespace std; const int mxn = 1005; int arr[mxn]; int res; int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int n, k; cin >> n >> k; for (int i = 0; i < n; i++) cin >> arr[i]; bool swp = 1; while (swp){ swp = 0; for (int i = n-1; i > 0; i--){ if (arr[i] - arr[i-1] > k){ res += (arr[i] - arr[i-1] - k); arr[i-1] += arr[i] - arr[i-1] - k; swp=1; } if (arr[i-1] - arr[i] > k){ res += (arr[i-1] - arr[i] - k); arr[i] += arr[i-1] - arr[i] - k; swp=1; } } // for (int i = 0; i < n; i++) // cerr << arr[i] << ' '; // cerr << '\n'; } cout << res << '\n'; return 0; } |
English