Submission #1143546

#TimeUsernameProblemLanguageResultExecution timeMemory
1143546M0stafaHacker (BOI15_hac)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;
#define all(x) x.begin(), x.end()
template<typename T> istream &operator>>(istream &in, vector<T> &v) { for (auto &x: v) in >> x; return in; }
template<typename T>ostream &operator<<(ostream &out, const vector<T> &v) { for (const T &x: v) out << x << ' ';return out;}
#ifndef ONLINE_JUDGE
#define dout(...) cerr << "Line:" << __LINE__ << " [" << #__VA_ARGS__ << "] = ["; _print(__VA_ARGS__)
#else
#define dout(...)
#endif

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    int n;
    cin >> n;

    vector<int> sum, a(n);
    for (int i = 0, s = 0; i < n; ++i) {
        int x;
        cin >> x;
        a[i] = x;

        s += x;
        sum.push_back(s);
    }
    int Sum = accumulate(all(a), 0ll);
    int slide = n >> 1;
    for (int i = 0; i < slide; i++) {
        sum.push_back(sum.back() + a[(i + n) % n]);
    }
    int ans = 1e18;
    for (int i = 0; i + slide < sum.size(); ++i) {
        int S = sum[i + slide - 1];
        if (i) S -= sum[i - 1];
        if (Sum - S >= S) ans = min(ans, Sum - S);
    }
    cout << ans << endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...