提交时间:2022-06-05 10:52:23

运行 ID: 1314

#include "bits/stdc++.h" using namespace std; const int N=1e5+10; int a[N],q[N],n; int main(){ cin>>n; for(int i=0;i<n;i++)scanf("%d",&a[i]); int l=-99999999; for(int i=0;i<n;i++){ if(a[i]==0){ q[i]=0; l=i; } else q[i]=i-l; } for(int i=n-1;i>=0;i--){ if(a[i]==0)l=i; if(i<l)q[i]=l-i; } for(int i=0;i<n;i++)cout<<q[i]<<" "; }