Submission #3237655


Source Code Expand

#include <cmath>
#include <algorithm>
#include <iostream>
using namespace std;
int main() {
    int n; cin >> n;
    long long a[n], ans = 1LL<<60;
    for (int i = 0; i < n; i++) { cin >> a[i]; if (i > 0) a[i] += a[i-1]; }
    for (int i = 1; i < n-2; i++) {
        long long p, q, r, s;
        int j = lower_bound(a, a + i + 1, (a[i]+1)/2) - a;
        if (j == 0) { p = a[0]; q = a[i] - a[0]; }
        else if (j == i) { p = a[i-1]; q = a[i] - a[i-1]; }
        else if (abs(a[i] - 2 * a[j-1]) > abs(a[i] - 2 * a[j])) {
            p = a[j]; q = a[i] - a[j];
        } else { p = a[j-1]; q = a[i] - a[j-1]; }
        int k = lower_bound(a + i + 1, a + n, (a[n-1]+a[i]+1)/2) - a;
        if (k == i + 1) { r = a[i+1] - a[i]; s = a[n-1] - a[i+1]; }
        else if (k == n-1) { r = a[n-2] - a[i]; s = a[n-1] - a[n-2]; }
        else if (abs(a[n-1] + a[i] - 2* a[k-1]) > abs(a[n-1] + a[i] - 2 * a[k])) {
            r = a[k] - a[i]; s = a[n-1] - a[k];
        } else { r = a[k-1] - a[i]; s = a[n-1] - a[k-1]; }
        // cout << j << ' ' << i << ' ' << k << "; " << p << ' ' << q << ' ' << r << ' ' << s << endl;
        ans = min(ans, max({p, q, r, s}) - min({p, q, r, s}));
    }
    cout << ans << endl;
}

Submission Info

Submission Time
Task D - Equal Cut
User kozima
Language C++14 (GCC 5.4.1)
Score 600
Code Size 1240 Byte
Status AC
Exec Time 86 ms
Memory 1792 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 3
AC × 43
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask_1_01.txt AC 1 ms 256 KB
subtask_1_02.txt AC 84 ms 1664 KB
subtask_1_03.txt AC 32 ms 896 KB
subtask_1_04.txt AC 58 ms 1152 KB
subtask_1_05.txt AC 1 ms 256 KB
subtask_1_06.txt AC 8 ms 384 KB
subtask_1_07.txt AC 40 ms 1152 KB
subtask_1_08.txt AC 21 ms 768 KB
subtask_1_09.txt AC 42 ms 1152 KB
subtask_1_10.txt AC 45 ms 1408 KB
subtask_1_11.txt AC 62 ms 1664 KB
subtask_1_12.txt AC 26 ms 896 KB
subtask_1_13.txt AC 43 ms 1152 KB
subtask_1_14.txt AC 12 ms 512 KB
subtask_1_15.txt AC 9 ms 384 KB
subtask_1_16.txt AC 22 ms 1024 KB
subtask_1_17.txt AC 21 ms 896 KB
subtask_1_18.txt AC 2 ms 256 KB
subtask_1_19.txt AC 45 ms 1664 KB
subtask_1_20.txt AC 86 ms 1664 KB
subtask_1_21.txt AC 35 ms 1024 KB
subtask_1_22.txt AC 31 ms 768 KB
subtask_1_23.txt AC 59 ms 1536 KB
subtask_1_24.txt AC 57 ms 1792 KB
subtask_1_25.txt AC 58 ms 1792 KB
subtask_1_26.txt AC 59 ms 1792 KB
subtask_1_27.txt AC 57 ms 1792 KB
subtask_1_28.txt AC 57 ms 1792 KB
subtask_1_29.txt AC 61 ms 1792 KB
subtask_1_30.txt AC 65 ms 1792 KB
subtask_1_31.txt AC 63 ms 1792 KB
subtask_1_32.txt AC 63 ms 1792 KB
subtask_1_33.txt AC 64 ms 1792 KB
subtask_1_34.txt AC 42 ms 1792 KB
subtask_1_35.txt AC 49 ms 1792 KB
subtask_1_36.txt AC 41 ms 1792 KB
subtask_1_37.txt AC 48 ms 1792 KB