您的当前位置:首页正文

Luogu P2705 小球

2024-11-19 来源:个人技术集锦

题目描述

有 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.

转载于:https://www.cnblogs.com/qbwhtc/p/7390706.html

显示全文