#include <bits/stdc++.h>
using namespace std;
int main(){
long long int n,k,i,c=0;
cin >> n >> k;
// cout << n << ' ' << k << '\n';
vector<long long int> a(n);
for(i=0;i<n;++i) cin >> a[i];
for(i=1;i<n;++i){
if(abs(a[i]-a[i-1])>k){
if(a[i]>a[i-1]){
c+=((a[i]-k))-a[i-1];
a[i-1]+=(a[i]-k)-a[i-1];
}
else{
c+=((a[i-1]-k))-a[i];
a[i]+=(a[i-1]-k)-a[i];
}
}
}
for(i=n-2;i>=0;--i){
if(abs(a[i]-a[i+1])>k){
if(a[i]>a[i+1]){
c+=((a[i]-k))-a[i+1];
a[i+1]+=(a[i]-k)-a[i+1];
}
else{
c+=((a[i+1]-k))-a[i];
a[i]+=(a[i+1]-k)-a[i];
}
}
}
cout << c;
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 30 31 32 33 34 35 | #include <bits/stdc++.h> using namespace std; int main(){ long long int n,k,i,c=0; cin >> n >> k; // cout << n << ' ' << k << '\n'; vector<long long int> a(n); for(i=0;i<n;++i) cin >> a[i]; for(i=1;i<n;++i){ if(abs(a[i]-a[i-1])>k){ if(a[i]>a[i-1]){ c+=((a[i]-k))-a[i-1]; a[i-1]+=(a[i]-k)-a[i-1]; } else{ c+=((a[i-1]-k))-a[i]; a[i]+=(a[i-1]-k)-a[i]; } } } for(i=n-2;i>=0;--i){ if(abs(a[i]-a[i+1])>k){ if(a[i]>a[i+1]){ c+=((a[i]-k))-a[i+1]; a[i+1]+=(a[i]-k)-a[i+1]; } else{ c+=((a[i+1]-k))-a[i]; a[i]+=(a[i+1]-k)-a[i]; } } } cout << c; return 0; } |
English