結果
問題 | No.1573 Divisor Function |
ユーザー |
![]() |
提出日時 | 2025-03-20 18:58:45 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 48 ms / 2,000 ms |
コード長 | 515 bytes |
コンパイル時間 | 146 ms |
コンパイル使用メモリ | 82,728 KB |
実行使用メモリ | 62,804 KB |
最終ジャッジ日時 | 2025-03-20 18:59:43 |
合計ジャッジ時間 | 3,437 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 43 |
ソースコード
MOD = 998244353 n, m = map(int, input().split()) D = min(n, m) S1 = 0 S2 = 0 d = 1 while d <= D: q = n // d if q == 0: break max_d = n // q current_end = min(max_d, D) num_terms = current_end - d + 1 a = d l = current_end sum_d = (a + l) * num_terms // 2 contribution_S2 = q * sum_d contribution_S1 = (q * (q + 1) // 2) * sum_d S2 = (S2 + contribution_S2) % MOD S1 = (S1 + contribution_S1) % MOD d = current_end + 1 total = (S1 + S2) % MOD print(total)