import java.util.*;
import java.io.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int n = Integer.parseInt(st.nextToken());
        if (n <= 1) {
            System.out.println("-1");
            return;
        }
        List<Integer> runesList = new ArrayList<>(n);
        st = new StringTokenizer(br.readLine());
        while (st.hasMoreTokens()) {
            runesList.add(Integer.parseInt(st.nextToken()));
        }
        int minCrystals = 0;
        for (int i = 0; i < runesList.size(); i++) {
            if (runesList.get(i) == 1) {
                if (i == 0) {
                    if (runesList.get(i + 1) == 0) {
                        runesList.set(i + 1, 2);
                        minCrystals++;
                    } else if (runesList.get(i + 1) == 1) {
                        System.out.println("-1");
                        return;
                    }
                } else if (i == runesList.size() - 1) {
                    if (runesList.get(i - 1) == 0) {
                        runesList.set(i - 1, 2);
                        minCrystals++;
                    } else if (runesList.get(i - 1) == 1) {
                        System.out.println("-1");
                        return;
                    }
                } else {
                    if (runesList.get(i - 1) == 2) {
                        continue;
                    } else if (runesList.get(i - 1) == 1) {
                        if (runesList.get(i + 1) == 1) {
                            System.out.println("-1");
                            return;
                        } else if (runesList.get(i + 1) == 0) {
                            runesList.set(i + 1, 2);
                            minCrystals++;
                        }
                    } else if (runesList.get(i - 1) == 0) {
                        if (runesList.get(i + 1) == 1) {
                            runesList.set(i - 1, 2);
                            minCrystals++;
                        } else if (runesList.get(i + 1) == 0) {
                            runesList.set(i + 1, 2);
                            minCrystals++;
                        }
                    }
                }

            }
        }
        System.out.println(minCrystals);
    }
}