結果
問題 | No.1666 累乗数 |
ユーザー | fgwiebfaoish |
提出日時 | 2021-09-03 23:54:02 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 746 ms / 2,000 ms |
コード長 | 4,107 bytes |
コンパイル時間 | 1,462 ms |
コンパイル使用メモリ | 117,652 KB |
実行使用メモリ | 81,184 KB |
最終ジャッジ日時 | 2024-12-15 19:23:01 |
合計ジャッジ時間 | 16,932 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 706 ms
79,024 KB |
testcase_01 | AC | 705 ms
79,012 KB |
testcase_02 | AC | 708 ms
77,204 KB |
testcase_03 | AC | 706 ms
76,992 KB |
testcase_04 | AC | 695 ms
81,184 KB |
testcase_05 | AC | 697 ms
76,884 KB |
testcase_06 | AC | 702 ms
79,144 KB |
testcase_07 | AC | 682 ms
79,272 KB |
testcase_08 | AC | 676 ms
78,880 KB |
testcase_09 | AC | 729 ms
77,020 KB |
testcase_10 | AC | 695 ms
76,972 KB |
testcase_11 | AC | 689 ms
78,760 KB |
testcase_12 | AC | 674 ms
77,252 KB |
testcase_13 | AC | 678 ms
79,008 KB |
testcase_14 | AC | 683 ms
77,072 KB |
testcase_15 | AC | 704 ms
77,504 KB |
testcase_16 | AC | 705 ms
77,292 KB |
testcase_17 | AC | 746 ms
77,088 KB |
testcase_18 | AC | 732 ms
76,832 KB |
testcase_19 | AC | 739 ms
80,924 KB |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Collections.Generic; using System.Collections; using System.Collections.Specialized; using System.Linq; using System.Text; using System.IO; using System.Reflection; using static System.Math; using System.Numerics; using System.Threading; using System.Runtime.CompilerServices; using System.Diagnostics; //using nint=System.Int32; static class Program{ const int mod=(int)1e9+7; static void Main(){ Sc sc=new Sc(); const int m=1000000; var ba=new bool[m+1]; const long c=(long)1e18; var li=new List<long>(); for(int i = 2;i<=m;i++) { BigInteger g=i; g*=i; if(g<=m){ba[(int)g]=true;} if(ba[i]){continue;} for(int j = 0;g<=c;j++) { if((j&1)==1){li.Add((long)g);} g*=i; } } li=li.Distinct().ToList(); li.Sort(); var a=li.ToArray(); var t=sc.I; StringBuilder sb=new StringBuilder(); for(int i = 0;i<t;i++) { var n=sc.I; long lb = 0, ub = (long)1e18+1, mid = 0; while(lb+1!=ub) { mid=(ub+lb)/2; if(Fu(mid)>=n) { ub=mid; } else { lb=mid; } } sb.Append(ub+"\n"); } Console.Write(sb); long Fu(long p) { var q=(long)Sqrt(p); if(q*q>p){q--;} var g=a.Bs(p+1,true)+1; return q+g; } } } static class Ex1{ public static int Bs(this long[] a,long x,bool b){return Bs2(a,x,b,a.Length);} public static int Bs(this long[] a,long x,bool b,int ub){return Bs2(a,x,b,ub+1);} private static int Bs2(long[] a,long x,bool b,int ub){ int lb=-1,mid=0; while(ub-lb>1){ mid=(ub+lb)/2; if(a[mid]>=x){ub=mid;} else{lb=mid;} } return b?lb:ub; } } public class Sc{ public int I{get{return int.Parse(Console.ReadLine());}} public long L{get{return long.Parse(Console.ReadLine());}} public double D{get{return double.Parse(Console.ReadLine());}} public string S{get{return Console.ReadLine();}} public int[] Ia{get{return Array.ConvertAll(Console.ReadLine().Split(),int.Parse);}} public long[] La{get{return Array.ConvertAll(Console.ReadLine().Split(),long.Parse);}} public double[] Da{get{return Array.ConvertAll(Console.ReadLine().Split(),double.Parse);}} public string[] Sa{get{return Console.ReadLine().Split();}} public object[] Oa{get{return Console.ReadLine().Split();}} public int[] Ia2{get{return Array.ConvertAll(("0 "+Console.ReadLine()+" 0").Split(),int.Parse);}} public int[] Ia3(string a,string b){return Array.ConvertAll((a+Console.ReadLine()+b).Split(),int.Parse);} public int[] Ia3(int a){return Array.ConvertAll((Console.ReadLine()+" "+a.ToString()).Split(),int.Parse);} public long[] La2{get{return Array.ConvertAll(("0 "+Console.ReadLine()+" 0").Split(),long.Parse);}} public long[] La3(string a,string b){return Array.ConvertAll((a+Console.ReadLine()+b).Split(),long.Parse);} public long[] La3(int a){return Array.ConvertAll((Console.ReadLine()+" "+a.ToString()).Split(),long.Parse);} public double[] Da2{get{return Array.ConvertAll(("0 "+Console.ReadLine()+" 0").Split(),double.Parse);}} public double[] Da3(string a,string b){return Array.ConvertAll((a+Console.ReadLine()+b).Split(),double.Parse);} public T[] Arr<T>(int n,Func<T> f){var a=new T[n];for(int i=0;i<n;i++){a[i]=f();}return a;} public T[] Arr<T>(int n,Func<int,T> f){var a=new T[n];for(int i=0;i<n;i++){a[i]=f(i);}return a;} public T[] Arr<T>(int n,Func<string[],T> f){var a=new T[n];for(int i=0;i<n;i++){a[i]=f(Console.ReadLine().Split());}return a;} public T[] Arr<T>(int n,Func<int,string[],T> f){var a=new T[n];for(int i=0;i<n;i++){a[i]=f(i,Console.ReadLine().Split());}return a;} public (T,T) Tp2<T>(){var s=Console.ReadLine().Split();return (Ct<T>(s[0]),Ct<T>(s[1]));} public (T,T,T) Tp3<T>(){var s=Console.ReadLine().Split();return (Ct<T>(s[0]),Ct<T>(s[1]),Ct<T>(s[2]));} public (T,T,T,T) Tp4<T>(){var s=Console.ReadLine().Split();return (Ct<T>(s[0]),Ct<T>(s[1]),Ct<T>(s[2]),Ct<T>(s[3]));} public (T1,T2) Tp2<T1,T2>(){var s=Console.ReadLine().Split();return (Ct<T1>(s[0]),Ct<T2>(s[1]));} public (T1,T1,T2) Tp3<T1,T2>(){var s=Console.ReadLine().Split();return (Ct<T1>(s[0]),Ct<T1>(s[1]),Ct<T2>(s[2]));} private T Ct<T>(string s){return (T)Convert.ChangeType(s,typeof(T));} }