Submission #70049576


Source Code Expand

from sys import setrecursionlimit
setrecursionlimit(10 ** 9)
if 0:
    import pypyjit
    pypyjit.set_param('max_unroll_recursion=-1')

n, m = map(lambda s_: int(s_), input().split())
a = tuple(map(lambda s_: int(s_), input().split()))

from collections import defaultdict
acc = [[defaultdict(int) for _ in range(2)]]

def dfs(b, i, s):
    nn = len(b)
    if i >= nn:
        acc[-1][0][s] += 1
        return
    # no take
    dfs(b, i + 1, s)
    # take
    ns = (s + b[i]) % m
    if i == nn - 1:
        acc[-1][1][ns] += 1
    else:
        dfs(b, i + 2, ns)

h = n // 2
dfs(a[:h], 0, 0)
acc.append([defaultdict(int) for _ in range(2)])
dfs(a[h:][::-1], 0, 0)

ans = 0
for i0, c0 in enumerate(acc[0]):
    for i1, c1 in enumerate(acc[1]):
        if i0 and i1:
            continue
        for s0, f0 in c0.items():
            ans += f0 * c1[-s0 % m]
print(ans)



Submission Info

Submission Time
Task F - Not Adjacent
User wasd314
Language Python (PyPy 3.10-v7.3.12)
Score 525
Code Size 914 Byte
Status AC
Exec Time 2853 ms
Memory 693300 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 525 / 525
Status
AC × 3
AC × 53
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 01_random_33.txt, 01_random_34.txt, 01_random_35.txt, 01_random_36.txt, 01_random_37.txt, 01_random_38.txt, 01_random_39.txt, 01_random_40.txt, 01_random_41.txt, 01_random_42.txt, 01_random_43.txt, 01_random_44.txt, 01_random_45.txt, 01_random_46.txt, 01_random_47.txt, 01_random_48.txt, 01_random_49.txt, 01_random_50.txt, 01_random_51.txt, 01_random_52.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 68 ms 76732 KiB
00_sample_01.txt AC 68 ms 76836 KiB
00_sample_02.txt AC 68 ms 76728 KiB
01_random_03.txt AC 2637 ms 596192 KiB
01_random_04.txt AC 2687 ms 596360 KiB
01_random_05.txt AC 2721 ms 595960 KiB
01_random_06.txt AC 2722 ms 596372 KiB
01_random_07.txt AC 2775 ms 596264 KiB
01_random_08.txt AC 2853 ms 594016 KiB
01_random_09.txt AC 2682 ms 596776 KiB
01_random_10.txt AC 2698 ms 596268 KiB
01_random_11.txt AC 67 ms 76656 KiB
01_random_12.txt AC 104 ms 86404 KiB
01_random_13.txt AC 86 ms 83824 KiB
01_random_14.txt AC 166 ms 137532 KiB
01_random_15.txt AC 103 ms 90468 KiB
01_random_16.txt AC 2567 ms 604252 KiB
01_random_17.txt AC 2698 ms 596236 KiB
01_random_18.txt AC 2759 ms 611400 KiB
01_random_19.txt AC 2676 ms 596272 KiB
01_random_20.txt AC 617 ms 156824 KiB
01_random_21.txt AC 2671 ms 693300 KiB
01_random_22.txt AC 2688 ms 596508 KiB
01_random_23.txt AC 2240 ms 600828 KiB
01_random_24.txt AC 82 ms 84148 KiB
01_random_25.txt AC 97 ms 86048 KiB
01_random_26.txt AC 103 ms 86704 KiB
01_random_27.txt AC 89 ms 84924 KiB
01_random_28.txt AC 105 ms 97132 KiB
01_random_29.txt AC 1706 ms 425220 KiB
01_random_30.txt AC 2129 ms 516868 KiB
01_random_31.txt AC 1849 ms 478352 KiB
01_random_32.txt AC 1542 ms 356676 KiB
01_random_33.txt AC 2021 ms 457828 KiB
01_random_34.txt AC 1815 ms 404368 KiB
01_random_35.txt AC 2179 ms 487620 KiB
01_random_36.txt AC 1813 ms 374112 KiB
01_random_37.txt AC 73 ms 81416 KiB
01_random_38.txt AC 68 ms 76784 KiB
01_random_39.txt AC 68 ms 76864 KiB
01_random_40.txt AC 68 ms 76988 KiB
01_random_41.txt AC 127 ms 103228 KiB
01_random_42.txt AC 472 ms 84160 KiB
01_random_43.txt AC 473 ms 84320 KiB
01_random_44.txt AC 499 ms 84472 KiB
01_random_45.txt AC 499 ms 84608 KiB
01_random_46.txt AC 520 ms 84420 KiB
01_random_47.txt AC 485 ms 84372 KiB
01_random_48.txt AC 503 ms 84532 KiB
01_random_49.txt AC 68 ms 77104 KiB
01_random_50.txt AC 69 ms 76780 KiB
01_random_51.txt AC 68 ms 77052 KiB
01_random_52.txt AC 68 ms 76692 KiB