結果
問題 | No.2113 Distance Sequence 1.5 |
ユーザー |
![]() |
提出日時 | 2025-03-26 15:57:16 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 40 ms / 2,000 ms |
コード長 | 699 bytes |
コンパイル時間 | 423 ms |
コンパイル使用メモリ | 82,160 KB |
実行使用メモリ | 53,892 KB |
最終ジャッジ日時 | 2025-03-26 15:57:51 |
合計ジャッジ時間 | 2,318 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 21 |
ソースコード
MOD = 998244353 def pow_mod(a, b, mod): a %= mod res = 1 while b > 0: if b % 2 == 1: res = res * a % mod a = a * a % mod b //= 2 return res def main(): import sys N, M, K = map(int, sys.stdin.readline().split()) if K == 1: print(M % MOD) return if K > M: print(pow_mod(M, 2*N, MOD)) return # Now 2 <= K <= M term1 = (M - K + 1) % MOD term2 = (pow_mod(K, 2*N, MOD) - pow_mod(K-1, 2*N, MOD)) % MOD part1 = (term1 * term2) % MOD t = K-1 part2 = pow_mod(t, 2*N, MOD) ans = (part1 + part2) % MOD print(ans) if __name__ == '__main__': main()