Submission #48410397


Source Code Expand

import os
import sys
import heapq

sys.setrecursionlimit(210000)


if os.getenv('TEST'):
    def eprint(*args, **kwargs):
        print('[\033[31mEPRINT\033[0m]', *args, file=sys.stderr, **kwargs)
else:
    def eprint(*args, **kwargs):
        pass


def main() -> None:
    N, D = map(int, input().split())
    weights = list(map(int, input().split()))
    avg = sum(weights) / D

    packs = [0] * (1 << N)
    for i in range(1 << N):
        for n in range(N):
            if i & (1 << n) != 0:
                packs[i] += weights[n]

    vars = [[float('inf')] * (1 << N) for _ in range(D)]
    for i in range(1 << N):
        vars[0][i] = (packs[i] - avg)**2

    for i in range(1, D):
        for j in range(1 << N):
            k = j
            while True:
                vars[i][j] = min(vars[i][j], vars[i - 1][j ^ k] + vars[0][k])
                if k == 0:
                    break
                k = (k - 1) & j

    for var in vars:
        eprint(', '.join(f'{v:.1f}' for v in var))

    print(vars[-1][-1] / D)


if __name__ == '__main__':
    main()

Submission Info

Submission Time
Task E - Lucky bag
User takedarts
Language Python (PyPy 3.10-v7.3.12)
Score 525
Code Size 1070 Byte
Status AC
Exec Time 1133 ms
Memory 98460 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 525 / 525
Status
AC × 1
AC × 57
Set Name Test Cases
Sample example_00.txt
All example_00.txt, hand_00.txt, hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_25.txt, random_26.txt, random_27.txt, random_28.txt, random_29.txt, random_30.txt, random_31.txt, random_32.txt, random_33.txt, random_34.txt, random_35.txt, random_36.txt, random_37.txt, random_38.txt, random_39.txt, random_40.txt, random_41.txt, random_42.txt, random_43.txt, random_44.txt, random_45.txt, random_46.txt, random_47.txt, random_48.txt, random_49.txt
Case Name Status Exec Time Memory
example_00.txt AC 59 ms 76636 KiB
hand_00.txt AC 1131 ms 97708 KiB
hand_01.txt AC 1047 ms 97736 KiB
hand_02.txt AC 600 ms 92132 KiB
hand_03.txt AC 66 ms 76536 KiB
hand_04.txt AC 66 ms 76572 KiB
hand_05.txt AC 1037 ms 98280 KiB
random_00.txt AC 112 ms 84676 KiB
random_01.txt AC 170 ms 86436 KiB
random_02.txt AC 140 ms 84632 KiB
random_03.txt AC 230 ms 86936 KiB
random_04.txt AC 382 ms 87616 KiB
random_05.txt AC 1077 ms 95052 KiB
random_06.txt AC 844 ms 88092 KiB
random_07.txt AC 1133 ms 98460 KiB
random_08.txt AC 158 ms 84896 KiB
random_09.txt AC 519 ms 89812 KiB
random_10.txt AC 195 ms 85532 KiB
random_11.txt AC 480 ms 90160 KiB
random_12.txt AC 273 ms 86580 KiB
random_13.txt AC 794 ms 94228 KiB
random_14.txt AC 309 ms 86484 KiB
random_15.txt AC 650 ms 92180 KiB
random_16.txt AC 331 ms 87644 KiB
random_17.txt AC 913 ms 93936 KiB
random_18.txt AC 409 ms 87776 KiB
random_19.txt AC 813 ms 93000 KiB
random_20.txt AC 325 ms 88224 KiB
random_21.txt AC 324 ms 88204 KiB
random_22.txt AC 311 ms 87156 KiB
random_23.txt AC 407 ms 89352 KiB
random_24.txt AC 402 ms 89292 KiB
random_25.txt AC 392 ms 88936 KiB
random_26.txt AC 415 ms 89172 KiB
random_27.txt AC 403 ms 89164 KiB
random_28.txt AC 408 ms 88864 KiB
random_29.txt AC 480 ms 90104 KiB
random_30.txt AC 484 ms 90600 KiB
random_31.txt AC 501 ms 90348 KiB
random_32.txt AC 482 ms 90288 KiB
random_33.txt AC 490 ms 90168 KiB
random_34.txt AC 486 ms 89984 KiB
random_35.txt AC 555 ms 91432 KiB
random_36.txt AC 549 ms 91632 KiB
random_37.txt AC 566 ms 91592 KiB
random_38.txt AC 170 ms 84988 KiB
random_39.txt AC 170 ms 86060 KiB
random_40.txt AC 169 ms 84824 KiB
random_41.txt AC 198 ms 85836 KiB
random_42.txt AC 203 ms 85960 KiB
random_43.txt AC 398 ms 85660 KiB
random_44.txt AC 231 ms 86080 KiB
random_45.txt AC 485 ms 90048 KiB
random_46.txt AC 123 ms 84508 KiB
random_47.txt AC 97 ms 83956 KiB
random_48.txt AC 327 ms 87944 KiB
random_49.txt AC 170 ms 85252 KiB