#include <bits/stdc++.h>
using namespace std;
vector<int> months = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
const int MAX = 1e5 + 55;
const int inf = 1e9 + 77;
const int MOD = 1e9 + 7;
const double PI = acos(-1.0);
const double eps = 1e-7;
int n, c0 = 0, c1 = 0;
int a[111], cs[111];
int dp[111][111][111];
int solve(int id, int p, int c) {
  if (id == n) return 0;
  int &res = dp[id][p][c];
  if (res != -1) return res;
  res = inf;
  if (a[id]) {
    res = solve(id + 1, a[id] & 1, c) + (id && (p != (a[id] & 1)));
  } else {
    if (c != c0) res = solve(id + 1, 0, c + 1) + (id && p);
    int rem = n / 2 + (n & 1) - c1 - cs[id] + c;
    if (rem) res = min(res, solve(id + 1, 1, c) + (id && !p));
  }
  return res;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n;
  for (int i = 0; i < n; ++i) {
    cin >> a[i];
    if (i) cs[i] = cs[i - 1] + !a[i - 1];
    c0 += (a[i] && !(a[i] & 1));
    c1 += (a[i] && (a[i] & 1));
  }
  c0 = n / 2 - c0;
  memset(dp, -1, sizeof(dp));
  cout << solve(0, 0, 0);
  return 0;
}
