92分求助(悬2关)

P4753 River Jumping

@[kunkun_666](/user/966143) 可以简洁一点: ```cpp #include<bits/stdc++.h> using namespace std; int n,m,s,f[100005],a[100005],i,x,k;bool fl[100005]; int main() { cin>>n>>m>>s; for(i=1;i<=m;i++) cin>>f[i]; f[0]=0,f[m+1]=n; for(i=0;i<=m+1;i++) if(f[i]-f[k]>=s&&fl[i]==0) k=i,a[x]=i,fl[i]=1,x++; for(i=m+1;i>=0;i--) if(f[k]-f[i]>=s&&fl[i]==0) k=i,a[x]=i,fl[i]=1,x++; if(x!=m+2) cout<<"NO\n",exit(0); cout<<"YES\n"; for(i=0;i<=x-1;i++) cout<<a[i]<<' '; return 0; } ``` 按照你的加我的码风打的。
by _zhx @ 2023-11-25 15:38:13


|