Alyona and copybooks

时间:2023-03-10 02:27:34
Alyona and copybooks

题目连接

题意:

给 n,a,b,c四个数,n为已有的书的数目,问再买k本书所需花费最少是多少,(k+n)%4==0;

有三种套餐

第一种只有一本书,花费a

第二种有两本书,花费b,

第三种有三本书,花费c.

暴力,n,k只有四种情况:n=0,k=0;   n=1,k=3;    n=2,k=2;    n=3,k=1;

n=0时,不用买;

n=1时,有三种买法可以可能出现最优解:3*a;    a+b;   c;

n=2时,有三种买法可以可能出现最优解: 2*a;  b;   2*c;

n=3时,有三种买法可以可能出现最优解: a; b+c;   3*c;

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<map>
#include<vector>
#include<set>
#define ll long long
using namespace std;
const ll N=1e9+;
int main()
{
ll n,a,b,c,d,ans;
while(~scanf("%lld%lld%lld%lld",&n,&a,&b,&c))
{
ans=1e12;
n=n%;
//cout<<n<<endl;
if(n==)
{
ans=min(*a,ans);
ans=min(a+b,ans);
ans=min(c,ans);
}
else if(n==)
{
ans=min(*a,ans);
ans=min(b,ans);
ans=min(*c,ans);
}
else if(n==)
{
ans=min(a,ans);
ans=min(b+c,ans);
ans=min(*c,ans);
}
else
ans=;
printf("%lld\n",ans);
}
return ;
}