这题已经卡2天了就差这题就能拿第一辣QAQ
题目链接 这题错一半
题目
题目描述 有 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。
内存限制:128 MB 时间限制:1.000 S
#include<bits/stdc++.h>
using namespace std;
int main(){
int x,y,a,b,c,ans,sum,k1,k2,f=0;
cin>>x>>y>>a>>b>>c;
ans=x*a+y*b;
sum=(x+y)*c;
if(a+b>=2*c){
cout<<ans<<endl;
}
else{
int remX=x,remY=y;
while(remX>0&&remY>0){
remX--;
remY--;
}
if(remX>0){
k1=max(remX*a,remX*c);
f=f+k1;
}
if(remY>0){
k2=max(remY*b,remY*c);
f=f+k2;
}
cout<<max(ans,sum+f)<<endl;
}
return 0;
}