OI IX - wys

// https://szkopul.edu.pl/problemset/problem/e5LK9PxWitOX0_1ujs123Gjq/site/?key=statement

#include <bits/stdc++.h>

using namespace std;

#define int long long

constexpr int sizik = 1000 * 1001;

#define ar std::array
#define pr std::pair
#define vec std::vector

typedef vec<vec<int>> _kra;

int n;
int pref[sizik];

int d(int i, int j) {
    if (i > j) std::swap(i, j);
    return std::min(pref[i] + pref[n] - pref[j], pref[j] - pref[i]);
}

void solve() {
    std::cin >> n;

    // std::vector<int> pref(n + 1);

    for (int i = 1; i <= n; i++) {
        std::cin >> pref[i];
        pref[i] += pref[i - 1];
    }

    int ans = 0;

    int p = 0, k = 0;
    while (p < n && k < n) {
        if (p > k) {
            k++;
        } else if (k == n - 1) {
            ans = std::max(ans, d(p, k));
            p++;
        } else {
            int d1 = d(p, k);
            int d2 = d(p, k + 1);

            if (d2 > d1) {
                ans = std::max(ans, d2);
                k++;
            } else {
                p++;
            }
        }
    }

    std::cout << ans << '\n';
}

int32_t main() {
    std::ios_base::sync_with_stdio(0);
    std::cin.tie(0);
    std::cout.tie(0);

    int t = 1;
    // std::cin >> t;

    for (; t > 0; t--) {
        solve();
    }

    return 0;
}