#include<bits/stdc++.h>
#define N 1000100
using namespace std;
long long f[N],x,y;
int n;
long long dfs(int p){
if(f[p]!=-1) return f[p];
if(p==1) return f[p]=0;
f[p]=x+y*(p-1);
for(int i=2;i<p;i=(p-1)/((p-1)/i)+1){
f[p]=min(f[p],y*i-y+dfs((p-1)/i+1)+x);
}
return f[p];
}
int main(){
memset(f,-1,sizeof(f));
scanf("%d%lld%lld",&n,&x,&y);
printf("%lld\n",dfs(n));
return 0;
}
4428: [Nwerc2015]Debugging调试
最新推荐文章于 2020-07-01 20:01:37 发布