Submission #723575

#TimeUsernameProblemLanguageResultExecution timeMemory
723575MDSProHacker (BOI15_hac)C++17
40 / 100
1088 ms1188 KiB
#include "bits/stdc++.h"

using namespace std;

int main(){
    int n; cin >> n;
    vector<int> v(2*n);
    for(int i = 0,x; i < n; ++i){
        cin >> x;
        v[i] = v[i+n] = x;
    }
    
    vector<int> ans(n,1e9);
    
    int sum = 0;
    int need = (n+1)/2;
    for(int i = 0; i < 2*n; ++i){
        sum += v[i];
        if(i-need+1 >= 0) {
            // i-need+1...i
            // cerr << i << ' ' << sum << '\n';
            for(int j = i-need+1; j <= i; ++j) {
                if(j >= n) ans[j-n] = min(ans[j-n],sum);
                else ans[j] = min(ans[j],sum);
            }
            sum -= v[i-need+1];
        }
    }

    int res = 0;
    for(int i = 0; i < n; ++i){
        res = max(res,ans[i]);
    }
    cout << res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...