結果

問題 No.3310 mod998
コンテスト
ユーザー otoshigo
提出日時 2025-10-25 11:25:23
言語 PyPy3
(7.3.15)
結果
RE  
実行時間 -
コード長 723 bytes
コンパイル時間 470 ms
コンパイル使用メモリ 83,024 KB
実行使用メモリ 273,132 KB
最終ジャッジ日時 2025-10-25 11:25:56
合計ジャッジ時間 33,052 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 23 RE * 10
権限があれば一括ダウンロードができます

ソースコード

diff #

MOD = 998
T = int(input())
for _ in range(T):
    N, M = map(int, input().split())
    li = [[-1 for _ in range(MOD)] for _ in range(MOD)]
    val = []
    a = 1
    b = 0
    c = 1
    val.append(c)
    while li[a][c] == -1:
        li[a][c] = b
        a = a * N % MOD
        b += 1
        c = (c + a) % MOD
        val.append(c)
    A = [0 for _ in range(MOD * MOD)]
    C = [0 for _ in range(MOD * MOD)]
    A[0] = a
    C[0] = c
    for i in range(1, MOD * MOD):
        A[i] = N * A[i - 1] % MOD
        C[i] = (C[i - 1] + A[i]) % MOD
    for _ in range(M):
        K = int(input())
        if K <= b:
            print(val[K])
        else:
            K -= b
            K %= b - li[a][c]
            print(C[K])
0