#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(NULL);
cin.tie(NULL);
cout.tie(NULL);
int n,k;
cin>>n>>k;
vector<int>v(n);
for(int i=0; i<n; i++)
cin>>v[i];
long long int res=0;
for(int i=1; i<n; i++)
{
if(v[i-1]+k<v[i])
{
int j=i-1;
while(j>=0&&v[j]+k<v[j+1])
{
res+=(v[j+1]-k-v[j]);
v[j]=v[j+1]-k;
j--;
}
}
if(v[i-1]-k>v[i])
{
res+=(v[i-1]-k-v[i]);
v[i]=v[i-1]-k;
}
}
cout<<res<<"\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 | #include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(NULL); cin.tie(NULL); cout.tie(NULL); int n,k; cin>>n>>k; vector<int>v(n); for(int i=0; i<n; i++) cin>>v[i]; long long int res=0; for(int i=1; i<n; i++) { if(v[i-1]+k<v[i]) { int j=i-1; while(j>=0&&v[j]+k<v[j+1]) { res+=(v[j+1]-k-v[j]); v[j]=v[j+1]-k; j--; } } if(v[i-1]-k>v[i]) { res+=(v[i-1]-k-v[i]); v[i]=v[i-1]-k; } } cout<<res<<"\n"; } |
English