#include using namespace std; typedef long long ll; #define rep(i, n) for(ll i = 0, i##_len = (n); i < i##_len; i++) #define reps(i, s, n) for(ll i = (s), i##_len = (n); i < i##_len; i++) #define rrep(i, n) for(ll i = (n) - 1; i >= 0; i--) #define rreps(i, e, n) for(ll i = (n) - 1; i >= (e); i--) #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define sz(x) ((ll)(x).size()) #define len(x) ((ll)(x).length()) #define endl "\n" template void chmax(T &a, const T b){ a = max(a, b); } template void chmin(T &a, const T b){ a = min(a, b); } long long gcd(long long a, long long b) { return (a % b) ? gcd(b, a % b) : b; } long long lcm(long long a, long long b) { return a / gcd(a, b) * b; } int main() { cin.tie(0); ios::sync_with_stdio(false); // ifstream in("input.txt"); // cin.rdbuf(in.rdbuf()); ll n; cin >> n; vector v(n); rep(i, n) cin >> v[i]; ll ans = LONG_LONG_MAX; reps(s, 1, n + 1) { if (s % 2 == 0) continue; rep(i, n - s + 1) { ll mns = 0, pls = 0, tmp = 0; rep(j, i) { tmp += v[j]; pls += v[j]; } rep(j, s) { ll p = j + 1; if (j > (s / 2)) { p = s - j; } if (v[i + j] > p) { ll rem = v[i + j] - p; tmp += rem; if (mns > 0) { ll cnt = min(mns, rem); mns -= cnt; rem -= cnt; } pls += rem; } else if (v[i + j] < p) { ll rem = p - v[i + j]; if (pls > 0) { ll cnt = min(pls, rem); pls -= cnt; rem -= cnt; } mns += rem; } } reps(j, i + s, n) { tmp += v[j]; pls += v[j]; } if (mns <= pls) { chmin(ans, tmp); } } } cout << ans << endl; return 0; }