using System;
using System.Collections.Generic;
using System.Linq;
public class Program {
    public static void Main() {

        long.TryParse(Console.ReadLine(), out long num);
        List<long> road = Console.ReadLine().Split(' ').Select(long.Parse).ToList();
        List<long> dp = new List<long>();
        dp.Add(road[0]);
        dp.Add(road[1]);
        dp.Add(road[2]);
        if (num <= 3) {
            Console.WriteLine(dp[(int)num - 1]);
        } else {
            //每个中间状态dp[i] = min(dp[i-1], dp[i-2]) + 走到当前格子所消耗的体力
            for (int i = 3; i < num; i++ ) {
                long cost1 = dp[i - 2] + road[i];
                long cost2 = dp[i - 1] + road[i];
                dp.Add(Math.Min(cost1, cost2));
            }
            Console.WriteLine(dp[(int)num - 1]);
        }
    }
}