#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  vector<int>::iterator it1, it2;
  vector<int> vec, zer;
  for (int i = 0; i < n; i++) {
    int a;
    cin >> a;
    vec.push_back(a);
    if (!a) zer.push_back(i);
  }
  for (int i = 0; i < n; i++) {
    int mn = INT_MAX;
    if (vec[i]) {
      it1 = upper_bound((zer).begin(), (zer).end(), i);
      it2 = lower_bound((zer).begin(), (zer).end(), i);
      if (it1 != zer.end()) mn = min(mn, abs(*it1 - i));
      if (it2 != zer.begin()) mn = min(mn, abs(*(--it2) - i));
      cout << mn << ' ';
    } else {
      cout << 0 << ' ';
    }
  }
  cout << endl;
  return 0;
}
