N = int(input()) A =list(map(int,input().split())) l = [] zero,one = 0,0 for a,i in zip(A,range(N)): if a == 0: zero += 1 elif a == 1: one += 1 else: if i != 0: l.append([zero,one]) zero,one = 0,0 if zero != 0 or one != 0: l.append([zero,one]) ans = 0 zero,one = 0,0 if len(l) == 1: if l[0][0] != 0 and l[0][1] != 0: print(-1) else: print(0) exit() for z,o in l: if z != 0 or o != 0: if z < zero: ans += (zero-z)//2 zero -= z elif o < one: ans += (one-o)//2 one -= o else: zero += z one += o if (zero == 0 or one == 0) or zero == one: print(ans) else: print(-1)