結果
問題 | No.1664 Unstable f(n) |
ユーザー | merlin |
提出日時 | 2021-09-03 21:51:49 |
言語 | Java21 (openjdk 21) |
結果 |
AC
|
実行時間 | 90 ms / 2,000 ms |
コード長 | 1,875 bytes |
コンパイル時間 | 3,467 ms |
コンパイル使用メモリ | 77,888 KB |
実行使用メモリ | 38,948 KB |
最終ジャッジ日時 | 2024-05-09 03:25:32 |
合計ジャッジ時間 | 6,672 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 54 ms
37,496 KB |
testcase_01 | AC | 56 ms
37,444 KB |
testcase_02 | AC | 54 ms
37,100 KB |
testcase_03 | AC | 54 ms
37,068 KB |
testcase_04 | AC | 54 ms
37,164 KB |
testcase_05 | AC | 54 ms
37,312 KB |
testcase_06 | AC | 53 ms
37,132 KB |
testcase_07 | AC | 54 ms
36,868 KB |
testcase_08 | AC | 54 ms
37,400 KB |
testcase_09 | AC | 54 ms
37,384 KB |
testcase_10 | AC | 54 ms
36,988 KB |
testcase_11 | AC | 80 ms
38,368 KB |
testcase_12 | AC | 83 ms
38,676 KB |
testcase_13 | AC | 84 ms
38,396 KB |
testcase_14 | AC | 90 ms
38,644 KB |
testcase_15 | AC | 89 ms
38,948 KB |
testcase_16 | AC | 82 ms
38,396 KB |
testcase_17 | AC | 84 ms
38,636 KB |
testcase_18 | AC | 86 ms
38,548 KB |
testcase_19 | AC | 87 ms
38,680 KB |
testcase_20 | AC | 83 ms
38,624 KB |
testcase_21 | AC | 54 ms
36,872 KB |
testcase_22 | AC | 54 ms
37,308 KB |
testcase_23 | AC | 54 ms
37,132 KB |
testcase_24 | AC | 54 ms
37,196 KB |
testcase_25 | AC | 54 ms
37,484 KB |
testcase_26 | AC | 54 ms
37,352 KB |
testcase_27 | AC | 55 ms
37,008 KB |
testcase_28 | AC | 54 ms
36,828 KB |
testcase_29 | AC | 53 ms
37,152 KB |
testcase_30 | AC | 55 ms
37,160 KB |
testcase_31 | AC | 55 ms
37,528 KB |
testcase_32 | AC | 58 ms
37,020 KB |
testcase_33 | AC | 55 ms
37,548 KB |
testcase_34 | AC | 54 ms
37,228 KB |
testcase_35 | AC | 83 ms
38,372 KB |
testcase_36 | AC | 54 ms
37,408 KB |
testcase_37 | AC | 80 ms
38,544 KB |
testcase_38 | AC | 54 ms
37,136 KB |
testcase_39 | AC | 56 ms
36,988 KB |
testcase_40 | AC | 81 ms
38,196 KB |
ソースコード
import java.io.*; import java.math.BigInteger; import java.util.*; class Main { public static void main(String args[])throws Exception { BufferedReader bu=new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb=new StringBuilder(); long n=Long.parseLong(bu.readLine()); int i; long r=root(n),ans=Math.min(n,r+(n-r*r)+2); //System.out.println(ans); for(i=3;i<63;i++) { int j=2; if(i<20) { long ti=power(j,i); while(ti<=n) { ans=Math.min(ans,n-ti+i+j); j++; ti=power(j,i); } } else { BigInteger ti=big_power(j,i),en=BigInteger.valueOf(n); while(ti.compareTo(en)<=0) { ans=Math.min(ans,en.subtract(ti).longValue()+i+j); j++; ti=big_power(j,i); } } //System.out.println(i+" "+j); } System.out.print(ans); } static long root(long n) { long l=1,r=(int)1e9,ans=l,mid; while(l<=r) { mid=(l+r)>>1; if(mid*mid<=n) { ans=mid; l=mid+1; } else r=mid-1; } return ans; } static long power(long a,int b) { long res=1; while(b!=0) { if(b%2==1) res=res*a; b>>=1; a=a*a; } return res; } static BigInteger big_power(int a,int b) { BigInteger res=new BigInteger("1"); while(b!=0) { res=res.multiply(res.valueOf(a)); b--; } return res; } }