import sys input = sys.stdin.readline N = int(input()) A = list(map(int, input().split())) l = [] niku, sou = 0, 0 for i in range(N): if A[i]==0: niku += 1 elif A[i]==1: sou += 1 else: l.append((niku, sou)) niku, sou = 0, 0 l.append((niku, sou)) niku_S = A.count(0) dp = [[10**18]*(niku_S+1) for _ in range(len(l)+1)] dp[0][0] = 0 for i in range(len(l)): for j in range(niku_S+1): dp[i+1][j] = min(dp[i+1][j], dp[i][j]+l[i][0]) if j+sum(l[i])<=niku_S: dp[i+1][j+sum(l[i])] = min(dp[i+1][j+sum(l[i])], dp[i][j]+l[i][1]) if dp[-1][-1]==10**18: print(-1) else: ans = dp[len(l)][niku_S]//2 print(ans)