The All-Berland Team Programming Contest will take place very soon. This year, teams of four are allowed to participate.
There are aa programmers and bb mathematicians at Berland State University. How many maximum teams can be made if:
- each team must consist of exactly 44 students,
- teams of 44 mathematicians or 44 programmers are unlikely to perform well, so the decision was made not to compose such teams.
Thus, each team must have at least one programmer and at least one mathematician.
Print the required maximum number of teams. Each person can be a member of no more than one team.
The first line contains an integer tt (1≤t≤1041≤t≤104) —the number of test cases.
This is followed by descriptions of tt sets, one per line. Each set is given by two integers aa and bb (0≤a,b≤1090≤a,b≤109).
Print tt lines. Each line must contain the answer to the corresponding set of input data — the required maximum number of teams.
6
5 5
10 1
2 3
0 0
17 2
1000000000 1000000000
2
1
1
0
2
500000000
In the first test case of the example, two teams can be composed. One way to compose two teams is to compose two teams of 22 programmers and 22 mathematicians.
In the second test case of the example, only one team can be composed: 33 programmers and 11 mathematician in the team.
纯纯签到题了,直接上代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define TL ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
ll t,a,b;
void solve(ll a,ll b)//a > b
{
if(a + b < 4) cout << 0 << endl;
else if(a >= 3 * b) cout << b << endl;
else if(a == b) cout << b/2 << endl;
else cout << (a+b)/4 << endl;
}
int main()
{
TL;
cin >> t;
while(t--)
{
cin >> a >> b;
if(a > b) solve(a,b);
else if (a <= b) solve(b,a);
}
}