#include <iostream>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int a, b, w = 0;
cin >> a >> b;
int tab[a];
for(int i = 0; i < a; i++){
cin >> tab[i];
if(i > 0 && max(tab[i] - tab[i - 1], tab[i - 1] - tab[i]) > b){
for(int j = i; j > 0; j--){
if(tab[j] < tab[j - 1]){
w += max(tab[j - 1] - tab[j] - b, 0);
tab[j] += max(tab[j - 1] - tab[j] - b, 0);
}
else{
w += max(tab[j] - tab[j - 1] - b, 0);
tab[j - 1] += max(tab[j] - tab[j - 1] - b, 0);
}
}
}
}
cout << w;
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 | #include <iostream> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int a, b, w = 0; cin >> a >> b; int tab[a]; for(int i = 0; i < a; i++){ cin >> tab[i]; if(i > 0 && max(tab[i] - tab[i - 1], tab[i - 1] - tab[i]) > b){ for(int j = i; j > 0; j--){ if(tab[j] < tab[j - 1]){ w += max(tab[j - 1] - tab[j] - b, 0); tab[j] += max(tab[j - 1] - tab[j] - b, 0); } else{ w += max(tab[j] - tab[j - 1] - b, 0); tab[j - 1] += max(tab[j] - tab[j - 1] - b, 0); } } } } cout << w; return 0; } |
English