This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
const int N=5e5+100;
#define int long long
signed main()
{
cin.tie(0);
cout.tie(0);
ios::sync_with_stdio(0);
int n;
cin>>n;
vector<int> a,b;
for(int i=0;i<n;i++)
{
int x;
cin>>x;
a.push_back(x);
}
for(auto y:a)
b.push_back(y);
for(auto y:a)
b.push_back(y);
for(auto y:a)
b.push_back(y);
vector<int> pre={0};
for(int i:b)
pre.push_back(pre.back()+i);
int sz=n-(n/2);
int mx=0;
vector<int> sp={0};
for(int i=n+1;i<=(2*n);i++)
sp.push_back(pre[i+sz-1]-pre[i-1]);
for(int i=n+1;i<=(2*n);i++)
sp.push_back(pre[i+sz-1]-pre[i-1]);
set<pair<int,int>> tpp;
for(int j=1;j<=sz;j++)
tpp.insert({sp[j],j});
mx=begin(tpp)->first;
for(int i=sz+1;i<=(2*n);i++)
{
tpp.insert({sp[i],i});
tpp.erase({sp[i-sz],i-sz});
mx=max(mx,begin(tpp)->first);
}
cout<<mx<<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... |