当前位置: 首页 > 工具软件 > Curn > 使用案例 >

C - Urn with Balls

王昆
2023-12-01

C. Urn with Balls
time limit per test
2.0 s
memory limit per test
256 MB
input
standard input
output
standard output

Megabrain has usual problems with the occupiers: he is captured again and is forced to solve logical puzzles about urns with balls. In the urn staying in front of Megabrain there are a red balls, b green balls and also c balls, colors of which are unknown to Megabrain. The occupiers demand an answer to a question: what is the maximal number of balls one can take out of this urn, so that there would be no more than n red and no more than m green balls among them for sure?
Input

The first line contains three integers a, b and c separated by a space (0 ≤ a, b, c ≤ 109) — the number of red balls in the urn, the number of green balls in the urn, and the number of balls of unknown color in the urn, correspondingly.

The second line contains two integers n and m separated by a space (0 ≤ n, m ≤ 109) — the maximal number of red balls allowed to be taken out of the urn and the maximal number of green balls allowed to be taken out of the urn, correspondingly.
Output

Output a single integer — the maximal number of balls that can be taken out of the urn so that no restrictions are violated.
Examples
Input
Copy

3 2 9
2 7

Output
Copy

2

Input
Copy

1 2 4
8 4

Output
Copy

4
题目传送
假设c全都是红球或者全都是蓝球,看红球和蓝球是否全能取净,都能取净,输出所有球的和。不是都能取净,输出取得最小的数

#include<bits/stdc++.h>
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)));
    }
    return 0;
}
 类似资料: