#include <bits/stdc++.h>
using namespace std;
const int base = 1 << 10;
int c[base];
int main(){
std::ios_base::sync_with_stdio(0);
std::cin.tie(0);
int n, k; cin >> n >> k;
for(int i = 0; i < n; i++) cin >> c[i];
int res = 0;
for(int i = 0; i < n; i++){
if(i > 0 && c[i] < c[i - 1]){
res += max(c[i - 1] - c[i] - k, 0);
c[i] += max(c[i - 1] - c[i] - k, 0);
}
else if(i > 0 && c[i - 1] < c[i]){
for(int j = i - 1; j >= 0; j--){
res += max(c[j + 1] - c[j] - k, 0);
c[j] += max(c[j + 1] - c[j] - k, 0);
}
}
}
cout << res;
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 | #include <bits/stdc++.h> using namespace std; const int base = 1 << 10; int c[base]; int main(){ std::ios_base::sync_with_stdio(0); std::cin.tie(0); int n, k; cin >> n >> k; for(int i = 0; i < n; i++) cin >> c[i]; int res = 0; for(int i = 0; i < n; i++){ if(i > 0 && c[i] < c[i - 1]){ res += max(c[i - 1] - c[i] - k, 0); c[i] += max(c[i - 1] - c[i] - k, 0); } else if(i > 0 && c[i - 1] < c[i]){ for(int j = i - 1; j >= 0; j--){ res += max(c[j + 1] - c[j] - k, 0); c[j] += max(c[j + 1] - c[j] - k, 0); } } } cout << res; return 0; } |
English