結果
問題 |
No.3215 Make K types-able
|
ユーザー |
|
提出日時 | 2025-07-24 19:44:23 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,225 ms / 4,000 ms |
コード長 | 570 bytes |
コンパイル時間 | 504 ms |
コンパイル使用メモリ | 82,836 KB |
実行使用メモリ | 134,656 KB |
最終ジャッジ日時 | 2025-09-04 01:21:34 |
合計ジャッジ時間 | 15,200 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 10 |
ソースコード
mod = 998244353 def multiply(a, b): la = len(a) lb = len(b) r = [0] * (la + lb - 1) for i in range(la): for j in range(lb): r[i+j] += a[i] * b[j] return [x%mod for x in r] lim = 2 << 17 k = 10 # 2 ** (2 * siz) s = [1] * lim for i in range(lim-1): s[i+1] = 4 * s[i] * s[i] % mod ans = [[1] * 2 + [0] * 8] for i in range(1, lim): nxt = multiply(ans[-1], ans[-1])[:k] nxt[0] = (nxt[0] + s[i]) % mod ans.append(nxt) t = int(input()) for i in range(t): n, k = map(int, input().split()) print(ans[n-1][k-1])