思路:
1.如果数量少的两种糖果的数量和小于第三个,那答案就是这两种糖果的数量和;
2.否则就利用数量最少的那个糖果将数量最多的两种糖果数量吃到一致,然后就能保证将多的两种糖果吃完且少的那个也吃完或者剩下一个
(半夜脑子不清醒也不晓得自己在口胡什么,具体看代码吧orz)
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin>>t;
while(t--){
int a[3];
cin>>a[0]>>a[1]>>a[2];
sort(a,a+3);
int dis=a[2]-a[1];
if(a[0]<=dis){
cout<<a[0]+a[1]<<'
';
}else{
a[0]-=dis;
cout<<a[1]+a[0]/2+dis<<'
';
}
}
return 0;
}