結果
| 問題 | No.3651 K-th Sum of Divisors |
| コンテスト | |
| ユーザー |
sig
|
| 提出日時 | 2026-08-28 21:43:04 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 251 ms / 2,000 ms |
| + 96µs | |
| コード長 | 592 bytes |
| 記録 | |
| コンパイル時間 | 285 ms |
| コンパイル使用メモリ | 96,104 KB |
| 実行使用メモリ | 181,504 KB |
| 最終ジャッジ日時 | 2026-08-28 21:44:06 |
| 合計ジャッジ時間 | 16,585 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 55 |
ソースコード
#t = int(input())
tt = 1
import random
R = random.randint(1, 1 << 60)
def f(x):
ii = 1
su = 0
while ii*ii <= x:
if x%ii == 0:
su += ii
if ii*ii != x:
su += x//ii
ii += 1
su %= 100003
return su
for _ in range(tt):
n,k = map(int, input().split())
mod = 100003
lis = [0]*100003
for i in range(1,100003):
lis[i] = f(i)
if k == 1:
print(n)
continue
k -= 2
n = f(n)
for i in range(61):
if k & (1<<i):
n = lis[n]
new = [0]*100003
for j in range(100003):
new[j] = lis[lis[j]]
lis = new.copy()
print(n)
sig