#include <bits/stdc++.h>
using namespace std;
long long int n, p[10005], o, e, dp[105][2][55][55];
int main() {
  cin >> n;
  e = n / 2;
  o = n - e;
  for (int i = 1; i <= n; i++) {
    cin >> p[i];
    if (p[i] == 0) continue;
    if (p[i] % 2 == 0)
      e--;
    else
      o--;
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j <= 51; j++) {
      for (int k = 0; k <= 51; k++) {
        dp[i][0][j][k] = 999999999;
        dp[i][1][j][k] = 999999999;
      }
    }
  }
  if (p[1] == 0) {
    dp[1][0][e - 1][o] = 0;
    dp[1][1][e][o - 1] = 0;
  } else if (p[1] % 2 == 0) {
    dp[1][0][e][o] = 0;
  } else
    dp[1][1][e][o] = 0;
  for (int i = 2; i <= n; i++) {
    for (int j = 0; j <= e; j++) {
      for (int k = 0; k <= o; k++) {
        if (p[i] == 0) {
          dp[i][0][j][k] =
              min(dp[i - 1][0][j + 1][k], dp[i - 1][1][j + 1][k] + 1);
          dp[i][1][j][k] =
              min(dp[i - 1][0][j][k + 1] + 1, dp[i - 1][1][j][k + 1]);
        } else if (p[i] % 2 == 0) {
          dp[i][0][j][k] = min(dp[i - 1][0][j][k], dp[i - 1][1][j][k] + 1);
        } else
          dp[i][1][j][k] = min(dp[i - 1][0][j][k] + 1, dp[i - 1][1][j][k]);
      }
    }
  }
  cout << min(dp[n][0][0][0], dp[n][1][0][0]);
}
