题目:
思路:
参考:https://blog.csdn.net/weixin_41687289/article/details/101150439
注意:数字比较大,我用的unsigned long long类型。
#include <iostream>
using namespace std;
void swap(unsigned long long &a, unsigned long long &b){
unsigned long long t;
t = a;
a = b;
b = t;
}
int main(){
int n;
cin >> n;
for (int i = 0; i < n; ++i){
unsigned long long a, b, c; //a为最大值,c为最小值
cin >> a >> b >> c;
if (a < b){
swap(a, b);
}
if (a < c){
swap(a, c);
}
if (b < c){
swap(b, c);
}
unsigned long long avg = (a+b+c) / 3;
unsigned long long remain = 0;
if (b+c >= avg){
remain = (a+b+c) - avg;
}else{
remain = a;
}
cout << (remain+1)/2 <<endl;
}
}