请发题解
by AFOier @ 2017-03-20 21:30:52
这题其实从0到min(r,b)循环一遍就可以了。
我们有r个红球和红盒子,b个蓝球和蓝盒子。对于每个球,只有放在同色和不同色两种情况,显然蓝球和红球放在不同色的盒子里的球的数量是相等的。因此遍历这个数字就可以了。
得分为 (r-k)c + (b-k)d + 2ke。求个最大值就好。
by binbang @ 2017-03-23 19:28:49
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
by wangshuheng3541 @ 2017-07-18 16:13:42
```cpp
var
a,b,c,d,e,ans:longint;
begin
readln(a,b,c,d,e);
if a>b then ans:=b*2*e+(a-b)*c
else ans:=*2*e+(b-a)*d;
if ans>a*c+b*d then writeln(ans)
else writeln(a*c+b*d);
end.
```
by Hellomuch @ 2017-07-25 17:08:28
PC的
by Hellomuch @ 2017-07-25 17:09:22
请发题解
by 白开 @ 2017-07-29 14:35:34
# @[binbang](/space/show?uid=35451) 你好意思吗。还说不要复制,请大家看题解从上往下数的倒数第二篇
作者: 约修亚\_RK 更新时间: 2016-10-13 16:33 举报
这题其实从0到min(r,b)循环一遍就可以了。
我们有r个红球和红盒子,b个蓝球和蓝盒子。对于每个球,只有放在同色和不同色两种情况,显然蓝球和红球放在不同色的盒子里的球的数量是相等的。因此遍历这个数字就可以了。
得分为 (r-k)c + (b-k)d + 2ke。求个最大值就好。
/\* P2705
\* Au: SJoshua
\*/
```cpp
#include <cstdio>
#include <algorithm>
using namespace std;
int main(void) {
int r, b, c, d, e, ans = -0x7fffffff;
scanf("%d %d %d %d %d", &r, &b, &c, &d, &e);
for (int k = 0; k <= min(r, b); k++) {
ans = max(ans, (r-k)*c + (b-k)*d + 2*k*e);
}
printf("%d", ans);
return 0;
}
```
#**代码一模一样**
#(转自kkksc03)“洛谷对于学术欺诈行为是零容忍的”
by 览遍千秋 @ 2017-08-15 12:38:42
#并且题解是16年10月13日发出的,你的讨论是2017年3月20日发出的
by 览遍千秋 @ 2017-08-15 12:39:34
@[kkksc03](/space/show?uid=1) 请检查他是否抄袭题解。
by 览遍千秋 @ 2017-08-15 12:41:18
@[kaiming](/space/show?uid=28910) 您不觉得无聊吗?
by 永忻 @ 2017-08-15 14:44:40