Description
快餐连锁店 提供三种披萨饼:A披萨饼、B披萨饼和AB披萨饼。
A披萨和B披萨是完全不同的披萨,AB披萨是A披萨和B披萨的一半结合在一起形成的。
一个A披萨、一个B披萨和一个AB披萨的价格分别是 A*元、B 元和 C 元。
小A需要为今晚的派对准备 X 份A披萨和 Y 份B披萨。
他只能通过直接购买A披萨和B披萨,或者购买两个AB披萨,然后重新组合成一个A披萨和一个B披萨来获得这些披萨。
他至少需要多少钱,才能通过重新组合这些披萨得到比需要更多的披萨饼。
Input
输入 5 个整数 A,B,C,X,Y,具体含义见题面描述
Output
最小需要多少钱
Samples
输入数据 1
1500 2000 1600 3 2
输出数据 1
7900
输入数据 2
1500 2000 1900 3 2
输出数据 2
8500
输入数据 3
1500 2000 500 90000 100000
输出数据 3
100000000
很简单的签到题,但一不小心就会出错,所以写代码之前一定要在纸上用笔模拟一下样例
代码:
#include<bits/stdc++.h>
using namespace std;
int a,b,c,x,y;
int main()
{
int max=0;
cin>>a>>b>>c>>x>>y;
if(2*c<b+a)//如果两个C披萨比A皮萨+B披萨便宜,则深一步地判断
{
if(x<y)
max=min(x*2*c+(y-x)*b,c*2*y);
else if(x>y)
max=min(y*2*c+(x-y)*a,c*2*x);
else max=x*2*c;
}
else max=a*x+b*y;//否则各买各的
cout<<max<<endl;
return 0;
}