結果
| 問題 | 
                            No.1862 Copy and Paste
                             | 
                    
| コンテスト | |
| ユーザー | 
                             vjudge1
                         | 
                    
| 提出日時 | 2024-11-13 09:33:47 | 
| 言語 | C++17  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 23 ms / 2,000 ms | 
| コード長 | 756 bytes | 
| コンパイル時間 | 1,886 ms | 
| コンパイル使用メモリ | 192,236 KB | 
| 最終ジャッジ日時 | 2025-02-25 04:01:55 | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 27 | 
ソースコード
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,x,y,ans=11451419181010086ll;
bool ck(int k1,int k2)
{
	__int128 r=1,d1,d2;
	d1=k2/k1+1;
	d2=k2%k1;
	for (int i=1;i<=d2;i++){
		r=r*(d1+1);
		if (r>=n){
			return 1;
		}
	}
	for (int i=1;i<=k1-d2;i++){
		r=r*d1;
		if (r>=n){
			return 1;
		}
	}
	return 0;
}
signed main()
{
	cin>>x>>y>>n;
if (n==1){
cout<<0;
return 0;
}
	for (int i=1;i<=70;i++){
		int l=1,r=1e9,dk=-1;
		while (l<=r){
			int mid=l+r>>1;
			if (ck(i,mid)){
				dk=mid;
				r=mid-1;
			}else{
				l=mid+1;
			} 
		}
		if (dk!=-1){
			ans=min(ans,i*x+dk*y);
		}
	}
	cout<<ans;
}
/*
?????? + ?????? * 2
?????????????????? * 2. 
???????? 70 ?? 
????????
1*(a_1+1)*(a_2+1)*(a_3_1)*(a_4+1)...
???????????? 
?? x???? x+1 
*/
            
            
            
        
            
vjudge1