結果
| 問題 |
No.2365 Present of good number
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-06-30 22:34:22 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 768 bytes |
| コンパイル時間 | 155 ms |
| コンパイル使用メモリ | 82,508 KB |
| 実行使用メモリ | 59,284 KB |
| 最終ジャッジ日時 | 2024-07-07 10:25:25 |
| 合計ジャッジ時間 | 2,885 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 4 WA * 35 |
ソースコード
#from collections import defaultdict
n,K=map(int,input().split())
mod=10**9+7
d=dict()
i=2
while 1<n:
while n%i==0:
n//=i
if i in d:d[i]+=1
else:d[i]=1
i+=1
L=[[k,v] for k,v in d.items()]
for i in range(1,K+1):
nx=dict()
if 2 in d:
nx[3]=d[2]
for k,v in d.items():
if k==2:continue
else:
if (k+1)//2 in nx:nx[(k+1)//2]+=d[k]
else:nx[(k+1)//2]=d[k]
if 2 in nx:nx[2]+=d[k]
else:nx[2]=d[k]
d=nx
if len(d)<=2 and set(list(d.keys())) in [{2,3},{2},{3}] :
if 2 in d:d[2]*=pow(2,(K-i)//2,mod)
if 3 in d:d[3]*=pow(2,(K-i)//2,mod)
if (K-i)%2==1:
nx=dict()
if 3 in d:nx[2]=d[3]*2
if 2 in d:nx[3]=d[2]
break
ans=1
for k,v in nx.items():
ans*=pow(k,v,mod)
ans%=mod
print(ans)