題目:
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
3 2 9
2 7
Output
2
Input
1 2 4
8 4
Output
4
原題鏈接:http://codeforces.com/gym/101341/problem/C
題意:輸入三個數(shù)字分別代表紅球數(shù)量谤碳,藍球數(shù)量剃袍,紅藍隨機球數(shù)量荧关;
再輸入兩個數(shù)字代表最多取的紅球藍球數(shù)量憾股;
求在不超出后兩個數(shù)字的球數(shù)的情況下取球的最大值娃肿。
思路:不是很難但是要把所有情況都考慮到確實繁瑣
第一次是比較的 前三個和和 n,m的大小算柳,殊不知m就算比a+b+c小蕉堰,但是如果比b+c大的話泽台,還是b+c,(我們已經知道的球,肯定是能拿到的)
AC代碼:
#include <bits/stdc++.h>
#include<algorithm>
#define max(a,b) (((a) > (b)) ? (a) : (b))
#define min(a,b) (((a) < (b)) ? (a) : (b))
using namespace std;
int main()
{ long long a,b,c;
long long a1,a2;
int ans1=0;
cin>>a>>b>>c>>a1>>a2;
ans1=a+b+c;
if(a+c>a1)
ans1=a1;
if(c+b>a2)
ans1=min(ans1,a2);
cout<<ans1<<endl;
return 0;
}