ss_yangzirui @ 2024-11-05 17:34:07
问题 F: 2015NHOI小乙 第六题 小球(1.5) 内存限制:128 MB 时间限制:1.000 S 评测方式:文本比较 命题人:外部导入 提交:315 解决:159 题目描述 有 R 个红色盒子和 B 个蓝色盒子,还有 R 个红色小球和 B 个蓝色小球。每个盒子只能装一个小球,每个小球都要放在一个盒子里。如果把一个红色小球放在一个红色盒子里,那么得分是 C。如果把一个蓝色小球放在一个蓝色盒子里,那么得分是 D。如果把一个红色小球放在一个蓝色盒子里,那么得分是 E。如果把一个蓝色小球放在一个红色盒子里,那么得分也是 E。现在给出 R,B,C,D,E。应该如何放置这些小球进盒子,才能使得总得分最大?输出最大的总得分。 输入 一行,5 个整数,分别是 R,B,C,D,E。 输出 一个整数,最大总得分。
输入样例:2 3 100 400 200 输出样例:1400
by SSqwq_ @ 2024-11-05 18:06:06
@ss_yangzirui 帮你做完了。
考虑枚举交换的小球数量即可,时间复杂度
#include<bits/stdc++.h>
#define int long long
using namespace std;
int r,b,c,d,e;
void work(){
cin>>r>>b>>c>>d>>e;
if(r>b){
swap(r,b);
swap(c,d);
}
int ans=0;
for(int i=0;i<=r;++i){
ans=max(ans,e*(i+i)+c*(r-i)+d*(b-i));
}
cout<<ans<<"\n";
}
signed main(){
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int T=1;
// cin>>T;
while(T--){
work();
}
return 0;
}
其实感觉可以
求关注喵
by ss_yangzirui @ 2024-11-06 12:17:10
@SSqwq_ 谢谢,已关注