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]);
}
}
}