#include<iostream>
#include<algorithm>

using namespace std;

int dp[2][10016][2];
int table[9999];
int n;
const int INF = 1000000000;

int main() {
	cin >> n;
	for (int i = 0; i < n - 1; i++)cin >> table[i];
	auto bef = dp[0], now = dp[1];
	
	for (int i = 0; i <= 10000; i++)now[i][0] = now[i][1] = bef[i][0] = bef[i][1] = INF;

	bef[1][0] = 0;
	bef[0][1] = 0;
	for (int i = 1; i < n; i++) {
		for (int j = 0; j <= i + 1; j++) {

			if(j != 0)now[j][0] = min(bef[j - 1][0], bef[j - 1][1] + table[i - 1]);

			if(j != i + 1)now[j][1] = min(bef[j][1], bef[j][0] + table[i - 1]);

		}
		swap(bef, now);
		for (int j = 0; j <= 10000; j++)now[j][0] = now[j][1] = INF;
	}
	cout << min(bef[n / 2][0], bef[n / 2][1]) << endl;
	return 0;
}