Submission #1344834

#TimeUsernameProblemLanguageResultExecution timeMemory
1344834orgiloogiiHacker (BOI15_hac)C++20
100 / 100
205 ms20000 KiB
#include <bits/stdc++.h>
#define int long long
#define ff first
#define ss second
using namespace std;

signed main() {
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    int n;
    cin >> n;
    int a[n];
    for (int i = 0;i < n;i++) {
        cin >> a[i];
    }
    int ans = 0;
    int diff = (n + 1) / 2;
    int sum = 0;
    vector <int> v;
    for (int i = n - diff;i < n;i++) {
        sum += a[i];
    }
    for (int i = 0;i < n;i++) {
        sum -= a[(i - diff + n) % n];
        sum += a[i];
        v.push_back(sum);
        // cout << sum << ' ';
    }
    multiset <int> ms;
    for (int i = 0;i < diff;i++) {
        ms.insert(v[i]);
    }
    ans = *ms.begin();
    for (int i = diff;i < n + diff;i++) {
        ms.erase(ms.find(v[i - diff]));
        ms.insert(v[i % n]);
        ans = max(ans, *ms.begin());
    }
    cout << ans << 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...