注意:得分只有两种可能,第一种为两种颜色分开放,第二种为两种颜色交叉放,并且交叉放时,全交叉时得分最高。
#include
using namespace std;
int main()
{
int r, b, c, d, e; cin >> r >> b >> c >> d >> e;
int score[2];
score[1] = r*c + b*d;//两种颜色分开放
if (r < b)score[0] = 2 * r*e + (b-r)*d;//两种颜色交叉放
else score[0] = 2 * b*e + (r-b)*c;
cout<<*max_element(score, score + 2);//库函数找出数组中最大值
return 0;
}
*min_element(p, p + n)就是在p~p+n范围内的最小的数,max类同。
拓展:求和函数,要求一个数组中的元素之和,可以用函数 accumulate(p,p+n,0) p~p+n范围内的合加0