#include <iostream>
#include <vector>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n, k;
cin >> n >> k;
vector<int> a(n, 0);
for(int i = 0; i < n; i++){
cin >> a[i];
}
bool is0 = false;
int counts = 0;
while(!is0){
is0 = true;
if(n > 1 && a[0] < a[1] && a[1] - a[0] > k){
counts = counts + (a[1] - a[0] - k);
a[0] += (a[1] - a[0] - k);
is0 = false;
}
for(int i = 1; i < n - 1; i++){
if(a[i] < a[i-1] && a[i-1] - a[i] > k){
counts = counts + (a[i-1] - a[i] - k);
a[i] += (a[i-1] - a[i] - k);
is0 = false;
}
if(a[i] < a[i+1] && a[i+1] - a[i] > k){
counts = counts + (a[i+1] - a[i] - k);
a[i] += (a[i+1] - a[i] - k);
is0 = false;
}
}
if(n > 1 && a[n-1] < a[n-2] && a[n-2] - a[n-1] > k){
counts = counts + (a[n-2] - a[n-1] - k);
a[n-1] += a[n-2] - a[n-1] - k;
is0 = false;
}
}
cout << counts;
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 50 51 52 53 54 | #include <iostream> #include <vector> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n, k; cin >> n >> k; vector<int> a(n, 0); for(int i = 0; i < n; i++){ cin >> a[i]; } bool is0 = false; int counts = 0; while(!is0){ is0 = true; if(n > 1 && a[0] < a[1] && a[1] - a[0] > k){ counts = counts + (a[1] - a[0] - k); a[0] += (a[1] - a[0] - k); is0 = false; } for(int i = 1; i < n - 1; i++){ if(a[i] < a[i-1] && a[i-1] - a[i] > k){ counts = counts + (a[i-1] - a[i] - k); a[i] += (a[i-1] - a[i] - k); is0 = false; } if(a[i] < a[i+1] && a[i+1] - a[i] > k){ counts = counts + (a[i+1] - a[i] - k); a[i] += (a[i+1] - a[i] - k); is0 = false; } } if(n > 1 && a[n-1] < a[n-2] && a[n-2] - a[n-1] > k){ counts = counts + (a[n-2] - a[n-1] - k); a[n-1] += a[n-2] - a[n-1] - k; is0 = false; } } cout << counts; return 0; } |
English