提交时间:2022-07-13 16:32:03

运行 ID: 4443

#include<iostream> #include<cmath> using namespace std; int main(){ long long a[200001],b[200001]; long long n,x=0; cin>>n; memset(b,0,sizeof(b)); for(long long k=1;k<=n;k++) cin>>a[k]; for(int i=1;i<=n;i++){ int j=i; while(a[j]!=0) j++; if(j>n) j=x; if(j>x&&x!=0){ if(abs(x-i)<abs(j-i)) b[i]=abs(x-i); else{ b[i]=abs(j-i); x=j; } } x=j; b[i]=abs(j-i); } for(int i=1;i<=n;i++) cout<<b[i]<<" "; return 0; }