Submission #891413

#TimeUsernameProblemLanguageResultExecution timeMemory
891413a5a7Hacker (BOI15_hac)C++14
100 / 100
275 ms20268 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main(){
    int n;
    cin >> n;
    int a[n];
    for (int i = 0; i < n; i++) cin >> a[i];
    int sum[n];
    int currSum = 0;
    int val = (n+1)/2;
    for (int i = 0; i < val; i++){
        currSum += a[i];
    }
    for (int i = val; i < (val+n); i++){
        sum[i-val] = currSum;
        currSum += a[i%n];
        currSum -= a[i-val];
    }
    multiset<int> current;
    for (int i = 0; i < val; i++){
        current.insert(sum[i]);
    }
    int answer[n];
    for (int i = (val-1); i < (val-1+n); i++){
        answer[i%n] = *current.begin();
        current.erase(current.find(sum[i-val+1]));
        current.insert(sum[(i+1)%n]);
    }
    cout << *max_element(answer, answer+n) << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...