#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |