#include<bits/stdc++.h>
using namespace std;
const int N = 1003;
int tab[N];
int main(){
cin.tie(0);
ios_base::sync_with_stdio(0);
int n, k, ans = 0;
cin >> n >> k;
for(int i = 0 ; i < n ; i++){
cin >> tab[i];
}
for(int i = 0 ; i < n - 1 ; i++){
if(tab[i] + k < tab[i + 1]){
ans += tab[i + 1] - k - tab[i];
tab[i] = tab[i + 1] - k;
for(int j = i - 1 ; j >= 0 ; j--){
if(tab[j] + k < tab[j + 1]){
ans += tab[j + 1] - k - tab[j];
tab[j] = tab[j + 1] - k;
}
}
}else if(tab[i] - k > tab[i + 1]){
ans += tab[i] - k - tab[i + 1];
tab[i + 1] = tab[i] - k;
}
}
cout << ans << '\n';
}
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 | #include<bits/stdc++.h> using namespace std; const int N = 1003; int tab[N]; int main(){ cin.tie(0); ios_base::sync_with_stdio(0); int n, k, ans = 0; cin >> n >> k; for(int i = 0 ; i < n ; i++){ cin >> tab[i]; } for(int i = 0 ; i < n - 1 ; i++){ if(tab[i] + k < tab[i + 1]){ ans += tab[i + 1] - k - tab[i]; tab[i] = tab[i + 1] - k; for(int j = i - 1 ; j >= 0 ; j--){ if(tab[j] + k < tab[j + 1]){ ans += tab[j + 1] - k - tab[j]; tab[j] = tab[j + 1] - k; } } }else if(tab[i] - k > tab[i + 1]){ ans += tab[i] - k - tab[i + 1]; tab[i + 1] = tab[i] - k; } } cout << ans << '\n'; } |
English