結果
| 問題 |
No.555 世界史のレポート
|
| コンテスト | |
| ユーザー |
vjudge1
|
| 提出日時 | 2025-05-16 16:50:36 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,770 bytes |
| コンパイル時間 | 2,438 ms |
| コンパイル使用メモリ | 192,976 KB |
| 実行使用メモリ | 7,848 KB |
| 最終ジャッジ日時 | 2025-05-16 16:50:39 |
| 合計ジャッジ時間 | 3,223 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 7 WA * 13 |
ソースコード
/*
ݲգ
ⲻ꣬
߽粻У
̰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;
n<<=1;
int u=log2(n);
int all=0;
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䡣̧ͷǿǿա
// ŮԸΪ˵İ¡
// 绯ĺԡȸƵӣٻ̸֯衣
// ڴأһͬһѿ
// ɡ֮ʱ
// ȥ֮ʱ
// ʹ˸ɣ硣
// ˺СȺǡҫΪ
// ˺СٻţΪҴδȥ
// 뽫ҵļҵĻҵİ֯ӣǿήĴء
// Ȼ覵ġ֮ɡ
// Ϊϣš
// ߣ֮ߡ
vjudge1