Submission #3222679


Source Code Expand

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cassert>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <list>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <tuple>
#include <iterator>

using namespace std;

int arr[200010];
long long sum[200010];

inline long long cal(long long a, long long b, long long c, long long d)
{
    return max({ a, b, c, d }) - min({ a, b, c, d });
}

int main()
{
    //freopen("in", "r", stdin);
    //freopen("out", "w", stdout);

    int n, i;
    scanf("%d", &n);
    for(i = 1; i <= n; i++)
        scanf("%d", &arr[i]);

    for(i = 1; i <= n; i++)
        sum[i] = sum[i - 1] + arr[i];

    int p, q;
    p = 1;
    q = 3;
    for(i = 3; i <= n - 1; i++)
        if(abs(sum[n] - sum[i] - (sum[i] - sum[2])) <= abs(sum[n] - sum[q] - (sum[q] - sum[2])))
            q = i;

    long long res = cal(arr[1], arr[2], sum[q] - sum[2], sum[n] - sum[q]);
    for(i = 3; i <= n - 2; i++)
    {
        while(p < i - 1)
        {
            if(abs(sum[i] - sum[p + 1] - (sum[p + 1] - sum[0])) <= abs(sum[i] - sum[p] - (sum[p] - sum[0])))
                p++;
            else
                break;
        }

        while(q < n - 1)
        {
            if(abs(sum[n] - sum[q + 1] - (sum[q + 1] - sum[i])) <= abs(sum[n] - sum[q] - (sum[q] - sum[i])))
                q++;
            else
                break;
        }

        res = min(cal(sum[p], sum[i] - sum[p], sum[q] - sum[i], sum[n] - sum[q]), res);
    }

    printf("%lld\n", res);
    return 0;
}

Submission Info

Submission Time
Task D - Equal Cut
User toonewbie
Language C++14 (GCC 5.4.1)
Score 600
Code Size 1663 Byte
Status AC
Exec Time 27 ms
Memory 2560 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:34:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
                    ^
./Main.cpp:36:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &arr[i]);
                             ^

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 26 ms 2304 KB
subtask_1_03.txt AC 12 ms 1280 KB
subtask_1_04.txt AC 19 ms 1664 KB
subtask_1_05.txt AC 1 ms 256 KB
subtask_1_06.txt AC 4 ms 512 KB
subtask_1_07.txt AC 15 ms 1536 KB
subtask_1_08.txt AC 9 ms 1152 KB
subtask_1_09.txt AC 14 ms 1536 KB
subtask_1_10.txt AC 17 ms 2048 KB
subtask_1_11.txt AC 22 ms 2304 KB
subtask_1_12.txt AC 10 ms 1280 KB
subtask_1_13.txt AC 15 ms 1664 KB
subtask_1_14.txt AC 5 ms 768 KB
subtask_1_15.txt AC 4 ms 512 KB
subtask_1_16.txt AC 11 ms 1408 KB
subtask_1_17.txt AC 10 ms 1280 KB
subtask_1_18.txt AC 2 ms 256 KB
subtask_1_19.txt AC 19 ms 2432 KB
subtask_1_20.txt AC 27 ms 2432 KB
subtask_1_21.txt AC 13 ms 1408 KB
subtask_1_22.txt AC 10 ms 1024 KB
subtask_1_23.txt AC 21 ms 2176 KB
subtask_1_24.txt AC 23 ms 2560 KB
subtask_1_25.txt AC 23 ms 2560 KB
subtask_1_26.txt AC 23 ms 2560 KB
subtask_1_27.txt AC 22 ms 2560 KB
subtask_1_28.txt AC 22 ms 2560 KB
subtask_1_29.txt AC 24 ms 2560 KB
subtask_1_30.txt AC 23 ms 2560 KB
subtask_1_31.txt AC 23 ms 2560 KB
subtask_1_32.txt AC 23 ms 2560 KB
subtask_1_33.txt AC 23 ms 2560 KB
subtask_1_34.txt AC 21 ms 2560 KB
subtask_1_35.txt AC 21 ms 2560 KB
subtask_1_36.txt AC 19 ms 2560 KB
subtask_1_37.txt AC 20 ms 2560 KB