Submission #2782659


Source Code Expand

from itertools import accumulate, islice
from bisect import bisect_left

n = int(input())
xs = [int(x) for x in input().split()]

ys = list(accumulate(xs))
zs, total = ys[:-1], ys[-1]

res = max(xs) - min(xs)
for i, z in islice(enumerate(zs), 1, n-1):
    j = bisect_left(zs, z//2)
    splits = ((zs[j+k], z - zs[j+k]) for k in (-1, 0, 1) if 0 <= j+k <= i)
    a, b = min(splits, key=lambda s:abs(s[0]-s[1]))

    j = bisect_left(zs, (total - z)//2 + z)
    splits = ((zs[j+k] - z, total - zs[j+k]) for k in (-1, 0, 1) if i <= j+k <= n-2)
    c, d = min(splits, key=lambda s:abs(s[0]-s[1]))

    minn, _, _, maxx = sorted((a,b,c,d))
    if maxx - minn < res:
        res = maxx - minn

print(res)

Submission Info

Submission Time
Task D - Equal Cut
User zehnpaard
Language Python (3.4.3)
Score 600
Code Size 719 Byte
Status AC
Exec Time 1843 ms
Memory 24308 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 18 ms 3064 KB
sample_02.txt AC 18 ms 3064 KB
sample_03.txt AC 18 ms 3064 KB
subtask_1_01.txt AC 18 ms 3064 KB
subtask_1_02.txt AC 1662 ms 23392 KB
subtask_1_03.txt AC 772 ms 11280 KB
subtask_1_04.txt AC 1160 ms 16836 KB
subtask_1_05.txt AC 19 ms 3064 KB
subtask_1_06.txt AC 217 ms 5616 KB
subtask_1_07.txt AC 1048 ms 14768 KB
subtask_1_08.txt AC 566 ms 10812 KB
subtask_1_09.txt AC 1031 ms 14928 KB
subtask_1_10.txt AC 1252 ms 19684 KB
subtask_1_11.txt AC 1630 ms 22992 KB
subtask_1_12.txt AC 697 ms 12420 KB
subtask_1_13.txt AC 1084 ms 16324 KB
subtask_1_14.txt AC 351 ms 7236 KB
subtask_1_15.txt AC 224 ms 5604 KB
subtask_1_16.txt AC 857 ms 8968 KB
subtask_1_17.txt AC 805 ms 8040 KB
subtask_1_18.txt AC 58 ms 3316 KB
subtask_1_19.txt AC 1642 ms 13196 KB
subtask_1_20.txt AC 1739 ms 23432 KB
subtask_1_21.txt AC 901 ms 11724 KB
subtask_1_22.txt AC 581 ms 9840 KB
subtask_1_23.txt AC 1511 ms 17956 KB
subtask_1_24.txt AC 1672 ms 24172 KB
subtask_1_25.txt AC 1647 ms 24180 KB
subtask_1_26.txt AC 1654 ms 24168 KB
subtask_1_27.txt AC 1681 ms 24168 KB
subtask_1_28.txt AC 1769 ms 24172 KB
subtask_1_29.txt AC 1838 ms 24180 KB
subtask_1_30.txt AC 1833 ms 24176 KB
subtask_1_31.txt AC 1804 ms 24308 KB
subtask_1_32.txt AC 1787 ms 24184 KB
subtask_1_33.txt AC 1810 ms 24176 KB
subtask_1_34.txt AC 1650 ms 14128 KB
subtask_1_35.txt AC 1843 ms 14048 KB
subtask_1_36.txt AC 1471 ms 14020 KB
subtask_1_37.txt AC 1771 ms 14312 KB