小球
题目描述
有R个红色盒子和B个蓝色盒子,还有R个红色小球和B个蓝色小球。每个盒子只能装一个小球,每个小球都要放在一个盒子里。如果把一个红色小球放在一个红色盒子里,那么得分是C。如果把一个蓝色小球放在一个蓝色盒子里,那么得分是D。如果把一个红色小球放在一个蓝色盒子里,那么得分是E。如果把一个蓝色小球放在一个红色盒子里,那么得分也是E。现在给出R,B,C,D,E。应该如何放置这些小球进盒子,才能使得总得分最大?输出最大的总得分。
输入
一行,5个整数,分别是R,B,C,D,E。(1 ≤ R ≤ 100,1 ≤ B ≤ 100, -1000 ≤ C,D,E ≤ 1000)
输出
一个整数,最大总得分。
样例输入
复制样例数据
2 3 100 400 200
样例输出
1400
#include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d,e,s;
cin>>a>>b>>c>>d>>e;
if(a>b)
s=b*2*e+(a-b)*c;
else
s=a*2*e+(b-a)*d;
cout<<max(s,a*c+b*d)<<endl;
return 0;
}
一开始也想得比较多,后来发现要么同色球到同色盒,要么分别装,都要把一个盒子装满,求得最大的就可以。