题意:
给出 N 个 红球 M 个蓝球,K个未知颜色(任何颜色)的球。问最多取出几个球才能使取出的球中红球数量不超过 Q ,蓝球数量不超过 P。
思路:
假设 K 个球都是红球或蓝球即可。
代码:
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
const int INF=0x3f3f3f3f;
int main()
{
long long r,g,b,mr,mg;
while(scanf("%lld%lld%lld%lld%lld",&r,&g,&b,&mr,&mg)!=-1){
long long ansr,ansg;
long long sum=r+g+b;
r+=b;
if(mr>=r) ansr=INF;
else ansr=mr;
g+=b;
if(mg>=g) ansg=INF;
else ansg=mg;
if(ansr==INF&&ansg==INF) printf("%lld\n",sum);
else printf("%lld\n",min(ansr,min(ansg,sum)));
}
}