結果
| 問題 | No.3651 K-th Sum of Divisors |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-08-28 21:38:52 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,458 bytes |
| 記録 | |
| コンパイル時間 | 277 ms |
| コンパイル使用メモリ | 95,972 KB |
| 実行使用メモリ | 157,648 KB |
| 最終ジャッジ日時 | 2026-08-28 21:39:26 |
| 合計ジャッジ時間 | 15,952 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge3_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 11 WA * 44 |
ソースコード
import sys
# input = lambda :sys.stdin.readline()[:-1]
ni = lambda :int(input())
na = lambda :list(map(int,input().split()))
yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES")
no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO")
#######################################################################
p = []
pmax = 3000000 + 10
a = [-1]*(pmax+1)
for i in range(2,pmax+1):
if a[i]==-1:
p.append(i)
for j in range(i,pmax+1,i):
a[j] = i
plen = len(p)
def f(x):
for i in p:
if x==i:
return 1
if x%i==0:
return 0
return 1
def is_prime(x):
if x == 1:
return 0
if a[x]==x:
return 1
return 0
def fastfact(x):
r = []
while x > 1:
p = a[x]
c = 0
while a[x]==p:
x//=p
c += 1
r.append((p, c))
return r
def calc(i):
res = fastfact(i)
x = 1
for p, c in res:
z = 0
y = 1
for _ in range(c + 1):
z += y
y *= p
x *= z
x %= m
# print(i, x)
return x
m = 10 ** 5 + 3
b = [0] * m
for i in range(1, m):
b[i] = calc(i)
n, k = na()
k -= 1
if k == 0:
print(n)
exit()
k -= 1
n = calc(n)
# print(k)
# print(n)
while k:
if k % 2:
n = b[n]
c = [0] * m
for i in range(n):
c[i] = b[b[i]]
b = c
k >>= 1
print(n)