#include <bits/stdc++.h>
using namespace std;
const int maxn = 5e5;
int x[maxn];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", x + i);
  }
  int ans = 0;
  for (int i = 1; i < n - 1; i++) {
    if (x[i] != x[i - 1]) {
      int j = i;
      while (j < n - 1 && x[j] != x[j + 1] && x[j] != x[j - 1]) j++;
      ans = max(ans, (j - i + 1) >> 1);
      int p = i, q = j - 1;
      while (p <= q) {
        x[p++] = x[i - 1];
        x[q--] = x[j];
      }
    }
  }
  printf("%d\n", ans);
  for (int i = 0; i < n; i++) {
    printf("%d%c", x[i], i == n - 1 ? '\n' : ' ');
  }
  return 0;
}
