Submission #103035

#TimeUsernameProblemLanguageResultExecution timeMemory
103035pavelHacker (BOI15_hac)C++14
20 / 100
770 ms18200 KiB
#include <cstdio>
#include <algorithm>
#include <set>

using namespace std;

const int MAXN = 500005;

int n,k;
int a[MAXN];
int sum[MAXN];

int main(){
    scanf("%d", &n);
    k=(n+1)/2;
    for(int i=0;i<n;++i) scanf("%d", &a[i]);
    for(int i=0;i<k;++i) sum[0]+=a[i];
    for(int i=1;i<n;++i){
        sum[i]=sum[i-1]-a[i-1]+a[(i+k-1+n)%n];
    }
    multiset<int> s;
    for(int i=0;i<k;++i) s.insert(sum[i]);
    int sol=*s.begin();
    for(int i=k;i!=k-1;i=(i+1)%n){
        s.insert(sum[i]);
        s.erase(sum[(i-k+n)%n]);
        sol=max(sol, *s.begin());
    }
    printf("%d", sol);
}

Compilation message (stderr)

hac.cpp: In function 'int main()':
hac.cpp:14:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
hac.cpp:16:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(int i=0;i<n;++i) scanf("%d", &a[i]);
                          ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...