n = int(input()) A = list(map(int, input().split())) A += [2] s = 0 for a in A: s += (a == 0) C = [] cnt0 = 0 cnt1 = 0 for i, a in enumerate(A): if a == 2: if cnt0 or cnt1: C.append((cnt0, cnt1)) cnt0 = 0 cnt1 = 0 elif a == 0: cnt0 += 1 else: cnt1 += 1 INF = 10**18 dp = [INF]*(s+1) dp[0] = 0 for c0, c1 in C: for j in reversed(range(s+1)): if j+c0+c1 <= s: dp[j+c0+c1] = min(dp[j+c0+c1], dp[j]+c1) if dp[s] < INF: print(dp[s]) else: print(-1)