Submission #723564

#TimeUsernameProblemLanguageResultExecution timeMemory
723564Erkinoff_MohammedHacker (BOI15_hac)C++14
60 / 100
191 ms4180 KiB
#include "bits/stdc++.h"
using namespace std;
#define INF 2000000000
#define INFLL 3000000000000000000LL
#define ll long long





int main() {
    cin.tie(0)->sync_with_stdio(0);
    int n;
    cin>>n;
    ll arr[n];
    ll sum=0;
    for(int i=0;i<n;i++){
        cin>>arr[i];
        sum+=arr[i];
    }
    ll mx=0;
    if(n<=5000){
        for(int i=0;i<n;i++){
            ll sum2=0;
            ll mn=INF;
            for(int j=i+1;j<i+n/2+1;j++){
                sum2+=arr[j%n];
            }
            for(int j=i+1;j<i+n/2+1+(n%2);j++){
                //cout<<sum2<<"\n";
                mn=min(mn,sum-sum2);
                sum2-=arr[(j)%n];
                sum2+=arr[(j+n/2)%n];
            }
            //cout<<"\n";
            mx=max(mx,mn);
        }
    }
    else{
        for(int i=0;i<1;i++){
            ll sum2=0;
            ll mn=INF;
            for(int j=i+1;j<i+n/2+1;j++){
                sum2+=arr[j%n];
            }
            for(int j=i+1;j<i+n/2+1+(n%2);j++){
                //cout<<sum2<<"\n";
                mn=min(mn,sum-sum2);
                sum2-=arr[(j)%n];
                sum2+=arr[(j+n/2)%n];
            }
            //cout<<"\n";
            mx=max(mx,mn);
        }
    }
    cout<<mx;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...