結果
問題 |
No.2891 Mint
|
ユーザー |
👑 |
提出日時 | 2024-07-05 14:24:10 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 105 ms / 2,000 ms |
コード長 | 369 bytes |
コンパイル時間 | 384 ms |
コンパイル使用メモリ | 81,912 KB |
実行使用メモリ | 75,264 KB |
最終ジャッジ日時 | 2024-07-05 14:24:27 |
合計ジャッジ時間 | 5,440 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 54 |
ソースコード
from math import isqrt mod = 998244353 n,m = map(int, input().split()) k = isqrt(m) ans = 0 for i in range(1, min(n+1, k+1)): ans += (m % i) ans %= mod for d in range(0, m//k+1): r = n+1 if d == 0 else min(m // d + 1, n+1) l = max(m // (d+1) + 1, k+1) if r <= l: continue ans += m * (r-l) - (r-l) * (l+r-1) // 2 * d ans %= mod print(ans)