【CodeForces 1263A --- Sweet Problem】
Description
You have three piles of candies: red, green and blue candies:
- the first pile contains only red candies and there are r candies in it,
- the second pile contains only green candies and there are g candies in it,
- the third pile contains only blue candies and there are b candies in it.
Each day Tanya eats exactly two candies of different colors. She is free to choose the colors of eaten candies: the only restriction that she can’t eat two candies of the same color in a day.
Find the maximal number of days Tanya can eat candies? Each day she needs to eat exactly two candies.
Input
The first line contains integer t (1≤t≤1000) — the number of test cases in the input. Then t test cases follow.
Each test case is given as a separate line of the input. It contains three integers r, g and b (1≤r,g,b≤108) — the number of red, green and blue candies, respectively.
Output
Print t integers: the i-th printed integer is the answer on the i-th test case in the input.
Sample Input
6
1 1 1
1 2 1
4 1 1
7 4 10
8 1 4
8 2 8
Sample Output
1
2
2
10
5
9
AC代码:
#include <bits/stdc++.h>
using namespace std;
#define SIS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define endl '\n'
int main()
{
SIS;
int arr[3],T;
cin >> T;
while(T--)
{
cin >> arr[0] >> arr[1] >> arr[2];
sort(arr,arr+3);
cout << min(arr[0]+arr[1],(arr[0]+arr[1]+arr[2])/2) << endl;
}
return 0;
}