結果
問題 |
No.3089 Base M Numbers, But Only 0~9
|
ユーザー |
|
提出日時 | 2025-04-04 23:15:59 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 642 bytes |
コンパイル時間 | 305 ms |
コンパイル使用メモリ | 82,380 KB |
実行使用メモリ | 91,956 KB |
最終ジャッジ日時 | 2025-04-04 23:16:05 |
合計ジャッジ時間 | 5,862 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 13 WA * 6 |
ソースコード
MOD = 998244353 M = int(input()) N = input() L = len(N) N = [ord(N[i]) - ord('0') for i in range(L)] k = [-1] * 10 for s in range(10): ok, ng = 0, 1 << 62 while ng - ok > 1: mid = (ok + ng) >> 1 if 10 * mid + s < M: ok = mid else: ng = mid k[s] = ok X = 1 for i in range(L): X = (X * (k[N[i]] + 1)) % MOD pM = [1] while len(pM) <= L: pM.append(pM[-1] * M % MOD) acc = [(5 * k[i] * (k[i] + 1) + i * (k[i] + 1)) % MOD for i in range(10)] ans = 0 for i in range(L): ans += acc[N[i]] * pM[L - 1 - i] * X * pow(k[N[i]] + 1, MOD - 2, MOD) ans %= MOD print(ans)