結果
問題 | No.1260 たくさんの多項式 |
ユーザー |
![]() |
提出日時 | 2020-10-16 23:32:15 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 197 ms / 2,000 ms |
コード長 | 937 bytes |
コンパイル時間 | 192 ms |
コンパイル使用メモリ | 82,404 KB |
実行使用メモリ | 76,288 KB |
最終ジャッジ日時 | 2024-07-21 00:10:11 |
合計ジャッジ時間 | 8,796 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 61 |
ソースコード
mod = 1000000007 eps = 10**-9 def main(): import sys input = sys.stdin.readline def digit_sum(n, k): ret = 0 while n: ret = (ret + n % k)%mod n //= k return ret N = int(input()) """ # gutyoku ans_ = 0 for i in range(2, N+1): ans_ = (ans_ + digit_sum(N, i))%mod print(ans_) """ inv_2 = (mod + 1)//2 ans = 0 ii = -1 for i in range(2, N+1): if i * i > N: ii = i - 1 break ans = (ans + digit_sum(N, i))%mod if ii > 0: j_min = ii + 1 iii = N // j_min for i in range(iii, 0, -1): j_max = N // i L = j_max - j_min + 1 ans = (ans + i * L)%mod ans = (ans + (((N - i * j_min) + (N - i * j_max))%mod * (L * inv_2)%mod)%mod)%mod j_min = j_max + 1 print(ans) if __name__ == '__main__': main()