提出 #71952203


ソースコード 拡げる

M, N = map(int, input().split())
A, B, C, D = map(int, input().split())
E, F, G, H = map(int, input().split())


def gen(n, a, b, c, d):
    f = [0] * n
    now = a
    for i in range(n):
        f[i] = now
        now = (b * now + c) % d
    return f


p = gen(M, A, B, C, D)
q = gen(N, E, F, G, H)

mod = 3**19

H = 19

dat = []
for a in range(3):
    binom = [0] * H
    binom[0] = 1
    res = [0] * H
    pow_a = [1] * M
    for i in range(1, M):
        pow_a[i] = pow_a[i - 1] * a % mod

    for i in range(M):
        for j in range(H):
            if i - j >= 0:
                res[j] += p[i] * binom[j] % mod * pow_a[i - j]
                res[j] %= mod
        for j in range(H - 1, 0, -1):
            binom[j] += binom[j - 1]
            binom[j] %= mod
    dat.append(res)

ans = 0
for i in q:
    a, b = i % 3, i // 3 * 3
    res = 0
    pow_b = 1
    for j in range(H):
        res += dat[a][j] * pow_b
        res %= mod
        pow_b *= b
        pow_b %= mod
    res %= mod
    ans ^= res
print(ans)

提出情報

提出日時
問題 E - Evaluation
ユーザ toam
言語 Python (PyPy 3.11-v7.3.20)
得点 800
コード長 1072 Byte
結果 AC
実行時間 4654 ms
メモリ 499640 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 800 / 800
結果
AC × 2
AC × 21
セット名 テストケース
Sample 00-sample-001.txt, 00-sample-002.txt
All 00-sample-001.txt, 00-sample-002.txt, 01-001.txt, 01-002.txt, 01-003.txt, 01-004.txt, 01-005.txt, 01-006.txt, 01-007.txt, 01-008.txt, 01-009.txt, 01-010.txt, 01-011.txt, 01-012.txt, 01-013.txt, 01-014.txt, 01-015.txt, 01-016.txt, 01-017.txt, 01-018.txt, 01-019.txt
ケース名 結果 実行時間 メモリ
00-sample-001.txt AC 52 ms 79784 KiB
00-sample-002.txt AC 68 ms 95436 KiB
01-001.txt AC 51 ms 79596 KiB
01-002.txt AC 52 ms 80024 KiB
01-003.txt AC 62 ms 91084 KiB
01-004.txt AC 69 ms 94964 KiB
01-005.txt AC 76 ms 101396 KiB
01-006.txt AC 123 ms 112300 KiB
01-007.txt AC 535 ms 147548 KiB
01-008.txt AC 4654 ms 499348 KiB
01-009.txt AC 1286 ms 186512 KiB
01-010.txt AC 3575 ms 421408 KiB
01-011.txt AC 3876 ms 436268 KiB
01-012.txt AC 3877 ms 436368 KiB
01-013.txt AC 4425 ms 499256 KiB
01-014.txt AC 4599 ms 499312 KiB
01-015.txt AC 4596 ms 499388 KiB
01-016.txt AC 4603 ms 499496 KiB
01-017.txt AC 4600 ms 499640 KiB
01-018.txt AC 4603 ms 499432 KiB
01-019.txt AC 4612 ms 499324 KiB