結果

問題 No.1666 累乗数
ユーザー tailstails
提出日時 2021-09-03 23:12:44
言語 cLay
(20240714-1)
結果
AC  
実行時間 126 ms / 2,000 ms
コード長 404 bytes
コンパイル時間 8,347 ms
コンパイル使用メモリ 217,768 KB
実行使用メモリ 8,704 KB
最終ジャッジ日時 2024-07-05 15:26:27
合計ジャッジ時間 11,608 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 13 ms
8,448 KB
testcase_01 AC 125 ms
8,576 KB
testcase_02 AC 126 ms
8,576 KB
testcase_03 AC 122 ms
8,576 KB
testcase_04 AC 121 ms
8,448 KB
testcase_05 AC 125 ms
8,704 KB
testcase_06 AC 124 ms
8,576 KB
testcase_07 AC 123 ms
8,576 KB
testcase_08 AC 126 ms
8,448 KB
testcase_09 AC 125 ms
8,576 KB
testcase_10 AC 123 ms
8,704 KB
testcase_11 AC 122 ms
8,448 KB
testcase_12 AC 125 ms
8,576 KB
testcase_13 AC 124 ms
8,576 KB
testcase_14 AC 122 ms
8,576 KB
testcase_15 AC 121 ms
8,576 KB
testcase_16 AC 125 ms
8,448 KB
testcase_17 AC 124 ms
8,576 KB
testcase_18 AC 122 ms
8,576 KB
testcase_19 AC 124 ms
8,576 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

int moe[64];

ll g(ll p,ll m){
	ll x=pow(m,1./p);
	while((__int128_t)x**p>m){
		--x;
	}
	while((__int128_t)(x+1)**p<=m){
		++x;
	}
	return x-1;
}

ll f(ll k){
	ll lo=0,hi=1d18;
	while(lo+1<hi){
		ll m=lo+hi>>1;
		ll c=1;
		rep(p,2,64){
			c+=g(p,m)*moe[p];
		}
		if(c<k){
			lo=m;
		}else{
			hi=m;
		}
	}
	return hi;
}

{
	rep(i,2,64){
		moe[i]=-Moebius(i);
	}

	ll@t;
	rep(t){
		ll@k;
		wt(f(k));
	}
}
0