結果

問題 No.555 世界史のレポート
ユーザー vjudge1
提出日時 2025-05-16 16:50:06
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,770 bytes
コンパイル時間 2,235 ms
コンパイル使用メモリ 194,740 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2025-05-16 16:50:09
合計ジャッジ時間 3,550 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 7 WA * 13
権限があれば一括ダウンロードができます

ソースコード

diff #

/*
ݲգ
ⲻ꣬
߽粻У
̰IJ֤
D P ˳
СٵȺţ
ͳһ
Խ粻жϣ
Բעͣ
 l l
˳
㲻˭ң
ʮ OI ࣬
ᡣ
*/
#include<bits/stdc++.h>
using namespace std;
#define int long long
//#define eps 1e-9
//#define ENF 1e13
const int N=2e6;
const int mod=1e9+7;
inline int read()
{
   int x=0,f=1;char ch=getchar();
   while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
   while (ch>='0'&&ch<='9'){x=(x<<3)+(x<<1)+ch-48;ch=getchar();}
   return x*f;
}
void write(int x)
{
   if(x<0)putchar('-'),x=-x;
   if(x<10)putchar(x+'0');
   else write(x/10),putchar(x%10+'0');
}
int n;
int c,v;
int dp[N];
signed main(){
//	freopen("ctrlcv.in","r",stdin);
//	freopen("ctrlcv.out","w",stdout);
	n=read();
    c=read(),v=read();
    dp[1]=0;
    int u=log2(n);
    int all=0;
    n<<=1;
    for(int i=1;i<=n;++i)dp[i]=INT_MAX;
    dp[1]=0;
	for(int k=0;k<=u;k++){
    	all=(1ll<<k);
		int sum=0;
		for(int j=all*2;j<=n;j+=(1ll<<k)){
			sum++;
			dp[j]=min(dp[j],dp[all]+c+v*sum);
		}
	}
	int ans=LONG_LONG_MAX;
	for(int i=n/2;i<=n;i++)ans=min(ans,dp[i]);
	cout<<ans<<"\n";
	return 0;
}
// ǫ롸ϣš֮AC⣡
// ijһգk׹䡣̧ͷǿǿա
// ŮԸΪ˵İ¡
// 绯ĺ԰ԡȸƵӣٻ̸֯衣
// ڴأһͬһѿ
// 񣬡ɡ֮ʱ
// 񣬡ȥ֮ʱ
// ʹ˸ɣ硣
// ˺󣬽СȺǡҫΪ
// ˺󣬽СٻţΪҴδȥ
// 뽫ҵļҵĻҵİ֯ӣǿήĴء
// Ȼ󣬱覵ġ֮ɡ
// Ϊϣš
// ߣ֮ߡ
0