#include <iostream>
#include <vector>
using namespace std;
using ll = long long;
int main()
{
cin.tie(0)->sync_with_stdio();
int n, k;
cin>>n>>k;
vector<int> vec(n);
ll sum = 0;
for(auto& x : vec) {
cin>>x;
sum += x;
}
for(int i=0; i<n; i++) {
for(int j=i-1; j>=0; j--) {
if(vec[j] < vec[j+1] - k) {
vec[j] = vec[j+1] - k;
} else {
break;
}
}
for(int j=i+1; j<n; j++) {
if(vec[j] < vec[j-1] - k) {
vec[j] = vec[j-1] - k;
} else {
break;
}
}
}
sum = -sum;
for(auto x : vec) {
sum += x;
}
cout<<sum<<"\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 32 33 34 35 36 37 38 39 | #include <iostream> #include <vector> using namespace std; using ll = long long; int main() { cin.tie(0)->sync_with_stdio(); int n, k; cin>>n>>k; vector<int> vec(n); ll sum = 0; for(auto& x : vec) { cin>>x; sum += x; } for(int i=0; i<n; i++) { for(int j=i-1; j>=0; j--) { if(vec[j] < vec[j+1] - k) { vec[j] = vec[j+1] - k; } else { break; } } for(int j=i+1; j<n; j++) { if(vec[j] < vec[j-1] - k) { vec[j] = vec[j-1] - k; } else { break; } } } sum = -sum; for(auto x : vec) { sum += x; } cout<<sum<<"\n"; } |
English