#include <bits/stdc++.h>
int N,K,a[1009];
signed main(void) {
scanf("%d %d",&N,&K);
for(int i=1;i<=N;i++) {
scanf("%d",&a[i]);
}
long long ss=0;
for(int i=1;i<=N;i++) {
if(i<N&&a[i]<a[i+1]-K) {
int dt=a[i+1]-a[i]-K;
a[i]+=dt;
ss+=dt;
if(i>1) i-=2;
}
if(i>1&&a[i]<a[i-1]-K) {
int dt=a[i-1]-a[i]-K;
a[i]+=dt;
ss+=dt;
}
}
printf("%lld",ss);
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <bits/stdc++.h> int N,K,a[1009]; signed main(void) { scanf("%d %d",&N,&K); for(int i=1;i<=N;i++) { scanf("%d",&a[i]); } long long ss=0; for(int i=1;i<=N;i++) { if(i<N&&a[i]<a[i+1]-K) { int dt=a[i+1]-a[i]-K; a[i]+=dt; ss+=dt; if(i>1) i-=2; } if(i>1&&a[i]<a[i-1]-K) { int dt=a[i-1]-a[i]-K; a[i]+=dt; ss+=dt; } } printf("%lld",ss); } |
English