//  #牛客春招刷题训练营# https://www.nowcoder.com/discuss/726480854079250432
#include <iostream>
#include <vector>
#include <algorithm>
#define pre(i,j,k) for (int i = j; i < k; i++)
using namespace std;

int main() {
  ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);
  int n;
  cin >> n;
  vector<int> a(n + 1, 0);//--------------多出来的一个不是下标从1开始,是因为到了顶层之后不用往上⇔加0
  pre(i, 0, n) cin >> a[i];
  vector<int> dp(n + 3, 0);//----------------前面空两个0用来推导第0层和第1层,后面空一个用来存顶层的答案,对应a【n】
  pre(i, 0, n + 1)
    dp[i + 2] = min(dp[i], dp[i + 1]) + a[i];
  cout << dp[n + 2];
  return 0;
}
// 64 位输出请用 printf("%lld")