题解:CF913C Party Lemonade
_fallen_leaves_ · · 题解
CF913C Party Lemonade
题意
有
思路
我们知道如果
我们假设购买大于等于
贴代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,l,len,c[35],ans,x[35];
signed main()
{
scanf("%d%d",&n,&l);
while(l)
{
x[len++]=l&1;
l>>=1;
}
for(int i=0;i<n;i++)
{
scanf("%lld",&c[i]);
if(i) c[i]=min(c[i],c[i-1]<<1);
}
for(int i=n;i<len;++i) c[i]=c[i-1]<<1;
for(int i=0;i<max(n,len);i++)
{
ans=min(ans,c[i]);
if(x[i]) ans+=c[i];
}
printf("%lld\n",ans);
return 0;
}