提交时间:2022-05-28 09:40:03

运行 ID: 940

#include <iostream> using namespace std; int absu(int a){return a<0?-a:a;} int main(){ int n,j=0,m=999999; cin>>n; int a[n],b[n]; for(int i=0;i<n;i++)cin>>a[i]; for(int i=0;i<n;i++){ if(a[i]==0)j++; } const int t=j; int c[t]; int *p; p=c; for(int i=0;i<n;i++){ if(a[i]==0){ *(p++)=i; } } for(int i=0;i<n;i++){ for(int k=0;k<t;k++){ int s=absu(i-c[k]); m=m<s?m:s; } b[i]=m; m=999999; } for(int i=0;i<n;i++)cout<<b[i]<<" "; return 0; }