結果
問題 |
No.3213 depth max K
|
ユーザー |
![]() |
提出日時 | 2025-07-25 23:00:13 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 230 ms / 2,000 ms |
コード長 | 791 bytes |
コンパイル時間 | 237 ms |
コンパイル使用メモリ | 82,088 KB |
実行使用メモリ | 216,872 KB |
最終ジャッジ日時 | 2025-07-25 23:00:29 |
合計ジャッジ時間 | 10,807 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 41 |
ソースコード
n, k = map(int, input().split()) mod = 998244353 N = 10 ** 7 + 2 F = [1] * N E = [1] * N for i in range(2, N): F[i] = F[i-1]*i%mod E[-1] = pow(F[-1], -1, mod) for i in range(N-1, 0, -1): E[i-1] = E[i]*i%mod def comb(a, b): #組合せ if b < 0: return 0 if a < b: return 0 return F[a] * E[b] * E[a-b] % mod def perm(a, b): #順列組み合わせ if a < b: return 0 return F[a] * E[a-b] % mod def main(n, l, k): p = 2 * n - l - k + 2 rep = 0 tmp = n % p N = 2 * n while tmp <= N: rep += comb(N, tmp); rep %= mod tmp += p tmp = (l-1) % p while tmp <= N: rep -= comb(N, tmp); rep %= mod tmp += p return rep ans = main(n, n, n-k) - main(n, n, n-k+1) ans %= mod print(ans)