#include <bits/stdc++.h>
using namespace std;
// max independent set on path [l, r]
long long getMax(const vector<long long>& a, int l, int r) {
if (l > r) return 0;
long long prev2 = 0, prev = 0;
for (int i = l; i <= r; i++) {
long long take = prev2 + a[i]; // can't use adjacent
long long skip = prev;
long long cur = max(take, skip);
prev2 = prev;
prev = cur;
}
return prev;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<long long> a(n + 1);
long long sum = 0;
for (int i = 1; i <= n; i++) {
cin >> a[i];
sum += a[i];
}
// min edge cover = sum - max independent set
// for cycle: either skip first edge or take it
long long skip1 = getMax(a, 2, n);
long long take1 = a[1] + getMax(a, 3, n - 1);
long long maxIS = max(skip1, take1);
cout << sum - maxIS << "\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyBtYXggaW5kZXBlbmRlbnQgc2V0IG9uIHBhdGggW2wsIHJdCmxvbmcgbG9uZyBnZXRNYXgoY29uc3QgdmVjdG9yPGxvbmcgbG9uZz4mIGEsIGludCBsLCBpbnQgcikgewogICAgaWYgKGwgPiByKSByZXR1cm4gMDsKICAgIAogICAgbG9uZyBsb25nIHByZXYyID0gMCwgcHJldiA9IDA7CiAgICBmb3IgKGludCBpID0gbDsgaSA8PSByOyBpKyspIHsKICAgICAgICBsb25nIGxvbmcgdGFrZSA9IHByZXYyICsgYVtpXTsgLy8gY2FuJ3QgdXNlIGFkamFjZW50CiAgICAgICAgbG9uZyBsb25nIHNraXAgPSBwcmV2OwogICAgICAgIGxvbmcgbG9uZyBjdXIgPSBtYXgodGFrZSwgc2tpcCk7CiAgICAgICAgcHJldjIgPSBwcmV2OwogICAgICAgIHByZXYgPSBjdXI7CiAgICB9CiAgICByZXR1cm4gcHJldjsKfQoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgCiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgCiAgICB2ZWN0b3I8bG9uZyBsb25nPiBhKG4gKyAxKTsKICAgIGxvbmcgbG9uZyBzdW0gPSAwOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgY2luID4+IGFbaV07CiAgICAgICAgc3VtICs9IGFbaV07CiAgICB9CiAgICAKICAgIC8vIG1pbiBlZGdlIGNvdmVyID0gc3VtIC0gbWF4IGluZGVwZW5kZW50IHNldAogICAgLy8gZm9yIGN5Y2xlOiBlaXRoZXIgc2tpcCBmaXJzdCBlZGdlIG9yIHRha2UgaXQKICAgIGxvbmcgbG9uZyBza2lwMSA9IGdldE1heChhLCAyLCBuKTsKICAgIGxvbmcgbG9uZyB0YWtlMSA9IGFbMV0gKyBnZXRNYXgoYSwgMywgbiAtIDEpOwogICAgbG9uZyBsb25nIG1heElTID0gbWF4KHNraXAxLCB0YWtlMSk7CiAgICAKICAgIGNvdXQgPDwgc3VtIC0gbWF4SVMgPDwgIlxuIjsKICAgIHJldHVybiAwOwp9