#include <iostream>
#include <set>
using namespace std;
long long a[3<<19], Ans, n;
int main(){
ios_base::sync_with_stdio(false); cin.tie(NULL);
cin>>n;
int h = (n + 1) / 2;
for (int i=1;i<=n;i++)
cin>>a[i], a[i+n] = a[i+n+n] = a[i];
for (int i=1;i<=n+n+n;i++)
a[i] += a[i-1];
multiset<long long> st;
for (int i=n;i>n-h;i--)
st.insert(a[i + h - 1] - a[i - 1]);
for (int i=n;i<n+n;i++){
Ans = max(Ans, *begin(st));
st.erase(st.find(a[i] - a[i - h]));
st.insert(a[i + h] - a[i]);
}
cout<<Ans<<'\n';
}
| # | 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... |