結果
問題 | No.2891 Mint |
ユーザー | PNJ |
提出日時 | 2024-09-13 21:43:54 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 122 ms / 2,000 ms |
コード長 | 500 bytes |
コンパイル時間 | 363 ms |
コンパイル使用メモリ | 82,376 KB |
実行使用メモリ | 75,748 KB |
最終ジャッジ日時 | 2024-09-13 21:44:06 |
合計ジャッジ時間 | 5,408 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 54 |
ソースコード
mod = 998244353 N,M = map(int,input().split()) ans = 0 for k in range(1,M + 1): if k * k > M: break if k > N: break q = M // k if q * q <= M: continue ans += M % k ans %= mod for q in range(1,M + 1): if q * q > M: break l = M // (q + 1) + 1 r = min(M // q,N) if l > N: continue s = (l + r) * (r - l + 1) // 2 s %= mod c = (r - l + 1) % mod res = c * M % mod - s * q % mod ans = (ans + res) % mod ans += M * max(N - M,0) % mod ans %= mod print(ans)