結果
問題 | No.1666 累乗数 |
ユーザー | taiga0629kyopro |
提出日時 | 2021-09-03 22:24:01 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 625 bytes |
コンパイル時間 | 427 ms |
コンパイル使用メモリ | 82,348 KB |
実行使用メモリ | 77,380 KB |
最終ジャッジ日時 | 2024-12-15 14:26:39 |
合計ジャッジ時間 | 31,925 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 18 TLE * 1 |
ソースコード
import sys input=sys.stdin.readline #文字列入力はするな!! from math import log def f(x): if x==0:return 0 g=[0]*64 res=1 for b in range(2,64): a=int(x**(1/b)) while (a+1)**b<=x: a+=1 while a**b>x:a-=1 if a>=2:g[b]=a-1 for b in range(63,1,-1): for c in range(b+1,64): if c%b==0: g[b]-=g[c] res+=g[b] return res T=int(input()) for _ in range(T): k=int(input()) ok=10**18+100 ng=0 while ok-ng>1: mid=(ok+ng)//2 if f(mid)>=k:ok=mid else:ng=mid print(ok)