题目描述
有 R 个红色盒子和 B 个蓝色盒子,还有 R 个红色小球和 B 个蓝色小球。每个盒子只能装一个小球,每个小球都要放在一个盒子里。
如果把一个红色小球放在一个红色盒子里,那么得分是 C。如果把一个蓝色小球放在一个蓝色盒子里,那么得分是 D。如果把一个红色小球放在一个蓝色盒子里,那么得分是 E。如果把一个蓝色小球放在一个红色盒子里,那么得分也是 E。
现在给出 R,B,C,D,E。应该如何放置这些小球进盒子,才能使得总得分最大?输出最大的总得分。
输入输出格式
输入格式:
一行,5 个整数,分别是 R,B,C,D,E。
输出格式:
一个整数,最大总得分。
输入输出样例
输入样例#1:
2 3 100 400 200
输出样例#1:
1400
输入样例#2:
2 3 100 400 300
输出样例#2:
1600
说明
【数据规模】
1 ≤ R ≤ 100,1 ≤ B ≤ 100, -1000 ≤ C,D,E ≤ 1000。
Solution
一道赤裸裸的小学生数学题……
总共就两种放法:
1.红球放红盒,蓝球放蓝盒。
2.红球放蓝盒,蓝球放红盒,多的球就只能放回本颜色的盒子里了。
因为是取最值,所以不用考虑一种颜色的球放一些在这个盒子里,放一些在那个盒子里的情况,因此只有上述两种极端(?)的放法。
——————分割不完全的分割线——————
以下是pascal代码:
var r,b,c,d,e,ans:longint; begin readln(r,b,c,d,e); if r>b then ans:=b*2*e+(r-b)*c else ans:=r*2*e+(b-r)*d;//以上是第二种放法 if ans>r*c+b*d then//第二与第一种放法作比较 writeln(ans) else writeln(r*c+b*d); end.