#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<int> vi;
int main(){
cin.tie(0)->sync_with_stdio(0);
int n,k;
cin >> n >> k;
vi gr(n);
for(int &g : gr)
cin >> g;
ll ans=0;
for(int i=1; i<n; ++i){
if(gr[i-1] - gr[i] > k){
ans += gr[i-1]-gr[i]-k;
gr[i] = gr[i-1] - k;
}
}
for(int i=n-1; i>=1; --i){
if(gr[i] - gr[i-1] > k){
ans += gr[i]-gr[i-1]-k;
gr[i-1] = gr[i] - k;
}
}
cout << ans;
}
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 | #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; int main(){ cin.tie(0)->sync_with_stdio(0); int n,k; cin >> n >> k; vi gr(n); for(int &g : gr) cin >> g; ll ans=0; for(int i=1; i<n; ++i){ if(gr[i-1] - gr[i] > k){ ans += gr[i-1]-gr[i]-k; gr[i] = gr[i-1] - k; } } for(int i=n-1; i>=1; --i){ if(gr[i] - gr[i-1] > k){ ans += gr[i]-gr[i-1]-k; gr[i-1] = gr[i] - k; } } cout << ans; } |
English