結果
| 問題 | No.3651 K-th Sum of Divisors |
| コンテスト | |
| ユーザー |
kidodesu
|
| 提出日時 | 2026-08-28 21:36:57 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 622 ms / 2,000 ms |
| + 663µs | |
| コード長 | 405 bytes |
| 記録 | |
| コンパイル時間 | 1,803 ms |
| コンパイル使用メモリ | 95,852 KB |
| 実行使用メモリ | 107,776 KB |
| 最終ジャッジ日時 | 2026-08-28 21:37:37 |
| 合計ジャッジ時間 | 38,016 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 55 |
ソースコード
n, k = list(map(int, input().split()))
A = []
C = {}
a = n
mod = 10**5+3
N = 3*10**6+10
dp = [0] * (N+1)
for u in range(1, N+1):
for v in range(u, N+1, u):
dp[v] += u
dp[v] %= mod
while not a in C:
C[a] = len(A)
A.append(a)
a = dp[a]
k -= 1
#print(A)
#print(a)
#print(len(A))
if k < len(A):
print(A[k])
else:
k -= len(A)
le = len(A)-C[a]
print(A[C[a]+k%le])
kidodesu