Submission #1101097

# Submission time Handle Problem Language Result Execution time Memory
1101097 2024-10-15T13:32:16 Z Kodik Hacker (BOI15_hac) C++17
0 / 100
1 ms 336 KB
#include <bits/stdc++.h>
using namespace std;

#define ff first
#define ss second
typedef long long ll;
typedef long double ld;
#define int ll
int mod = 998244353; 


signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin >> n;
    int total = 0;
    int k = n/2;
    vector<int> arr(2*n);
    for(int i = 0; i < n; ++i){
        int x;
        cin >> x;
        arr[i] = arr[n+i] = x;
        total += x;
    }
    vector<pair<int,int>> sliding(n, {0,0});
    int sum = 0;
    for(int i = 0, j = 0; i < n; ++i){
        while(j-i<k){
            sum += arr[j];
            ++j;
        }
        sliding[i].ff = sum;
        sum -= arr[i];
    }
    reverse(arr.begin(), arr.end());
    sum = 0;
    for(int i = 0, j = 0; i < n; ++i){
        while(j-i<k){
            sum += arr[j];
            ++j;
        }
        sliding[n-i-1].ss = sum;
        sum -= arr[i];
    }
    int ans = max(total-max(sliding[n].ss, sliding[1].ff), total-max(sliding[n-1].ss, sliding[0].ff));
    for(int i = 1; i < n-1; ++i){
        ans = max(ans, total-max(sliding[i-1].ss, sliding[i+1].ff));
    }
    cout << ans << '\n';
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Incorrect 1 ms 336 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Incorrect 1 ms 336 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Incorrect 1 ms 336 KB Output isn't correct
3 Halted 0 ms 0 KB -