Submission #941398

#TimeUsernameProblemLanguageResultExecution timeMemory
941398Darren0724Hacker (BOI15_hac)C++17
100 / 100
227 ms24192 KiB
#include <bits/stdc++.h>
using namespace std;
#define LCBorz ios_base::sync_with_stdio(false); cin.tie(0);
#define all(x) x.begin(), x.end()
#define endl '\n'
const int N=200005;
const int INF=1e9;
int32_t main() {
    LCBorz;
    int n;cin>>n;
    vector<int> v(n*2+1),pre(n*2+1);
    for(int i=1;i<=n;i++){
        cin>>v[i];
        v[i+n]=v[i];
    }
    for(int i=1;i<=n*2;i++){
        pre[i]=pre[i-1]+v[i];
    }
    int ans=0;
    int p=(n+1)/2;
    vector<int> r;
    for(int i=0;i<n;i++){
        r.push_back(pre[i+p]-pre[i]);
    }
    multiset<int> m;
    for(int i=0;i<p-1;i++){
        m.insert(r[i]);
    }
    for(int i=0;i<n;i++){
        m.insert(r[(i+p-1)%n]);
        ans=max(ans,*m.begin());
        m.erase(m.find(r[i]));
    }
    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...