提出 #64790912


ソースコード 拡げる

from bisect import bisect_left

n, m = map(int, input().split())
a = [list(map(int, input().split())) for _ in range(n)]
for i in range(n):
    for j in range(n):
        a[i][j] *= pow(10, n - 1 - i + n - 1 - j, m)
        a[i][j] %= m
nn = 1 << (n - 1)
g1 = [[] for _ in range(n)]
for bit in range(nn):
    s = 0
    x, y = 0, 0
    for i in range(n - 1):
        s += a[x][y]
        if (bit >> i) & 1:
            x += 1
        else:
            y += 1
    s += a[x][y]
    s %= m
    g1[x].append(s)
g2 = [[] for _ in range(n)]
for bit in range(nn):
    s = 0
    x, y = n - 1, n - 1
    for i in range(n - 1):
        s += a[x][y]
        if (bit >> i) & 1:
            x -= 1
        else:
            y -= 1
    s %= m
    g2[x].append(s)
ans = 0
for r1, r2 in zip(g1, g2):
    r2.sort()
    for v in r1:
        idx = bisect_left(r2, m - v) - 1
        ans = max(ans, (v + r2[idx]) % m)
print(ans)

提出情報

提出日時
問題 F - Path to Integer
ユーザ sounansya
言語 Python (PyPy 3.10-v7.3.12)
得点 525
コード長 947 Byte
結果 AC
実行時間 437 ms
メモリ 118076 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 525 / 525
結果
AC × 3
AC × 44
セット名 テストケース
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_handmade_00.txt, 01_handmade_01.txt, 01_handmade_02.txt, 01_handmade_03.txt, 01_handmade_04.txt, 01_handmade_05.txt, 01_handmade_06.txt, 01_handmade_07.txt, 01_handmade_08.txt, 01_handmade_09.txt, 01_handmade_10.txt, 01_handmade_11.txt, 01_handmade_12.txt, 01_handmade_13.txt, 01_handmade_14.txt, 01_handmade_15.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 02_random_10.txt, 02_random_11.txt, 02_random_12.txt, 02_random_13.txt, 02_random_14.txt, 02_random_15.txt, 02_random_16.txt, 02_random_17.txt, 02_random_18.txt, 02_random_19.txt, 02_random_20.txt, 02_random_21.txt, 02_random_22.txt, 02_random_23.txt, 02_random_24.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 56 ms 76524 KiB
00_sample_01.txt AC 57 ms 76512 KiB
00_sample_02.txt AC 65 ms 76760 KiB
01_handmade_00.txt AC 62 ms 76572 KiB
01_handmade_01.txt AC 56 ms 76584 KiB
01_handmade_02.txt AC 56 ms 76604 KiB
01_handmade_03.txt AC 58 ms 76784 KiB
01_handmade_04.txt AC 76 ms 82164 KiB
01_handmade_05.txt AC 96 ms 83492 KiB
01_handmade_06.txt AC 340 ms 117452 KiB
01_handmade_07.txt AC 307 ms 117496 KiB
01_handmade_08.txt AC 328 ms 117564 KiB
01_handmade_09.txt AC 302 ms 117404 KiB
01_handmade_10.txt AC 67 ms 76684 KiB
01_handmade_11.txt AC 86 ms 82120 KiB
01_handmade_12.txt AC 387 ms 118076 KiB
01_handmade_13.txt AC 416 ms 117756 KiB
01_handmade_14.txt AC 339 ms 117568 KiB
01_handmade_15.txt AC 345 ms 117808 KiB
02_random_00.txt AC 56 ms 76660 KiB
02_random_01.txt AC 92 ms 82412 KiB
02_random_02.txt AC 76 ms 82124 KiB
02_random_03.txt AC 89 ms 82672 KiB
02_random_04.txt AC 65 ms 76892 KiB
02_random_05.txt AC 71 ms 81896 KiB
02_random_06.txt AC 64 ms 76548 KiB
02_random_07.txt AC 81 ms 82444 KiB
02_random_08.txt AC 124 ms 84384 KiB
02_random_09.txt AC 71 ms 81920 KiB
02_random_10.txt AC 406 ms 117596 KiB
02_random_11.txt AC 432 ms 117428 KiB
02_random_12.txt AC 412 ms 117660 KiB
02_random_13.txt AC 405 ms 117900 KiB
02_random_14.txt AC 434 ms 117512 KiB
02_random_15.txt AC 437 ms 117800 KiB
02_random_16.txt AC 420 ms 117740 KiB
02_random_17.txt AC 397 ms 117884 KiB
02_random_18.txt AC 401 ms 117528 KiB
02_random_19.txt AC 412 ms 117804 KiB
02_random_20.txt AC 420 ms 117856 KiB
02_random_21.txt AC 410 ms 117848 KiB
02_random_22.txt AC 386 ms 117512 KiB
02_random_23.txt AC 413 ms 117600 KiB
02_random_24.txt AC 409 ms 117568 KiB