ACM_情人节

情人节

Time Limit: 2000/1000ms (Java/Others)

Problem Description:

某发每天都在各大群水啊水,然后认识了很多崇拜他的妹子,毕竟是数学专业。这不,情人节来了,某发网购了三种颜色的花,碳黑色的a朵,惨白色的b朵,屎黄色的c朵,三朵集成一束。打算送给他认识的妹子,可是妹子不喜欢收到单一颜色的花,比如:3朵都是屎黄色是不被允许的。每个妹子得到一束。请问某发最多一共可以送给多少个妹子呢?

Input:

输入占1行,包括3个整数,a,b,c(0<=a,b,c<=2*10^9)代表三种颜色的朵数。

Output:

输出占1行,包括1个整数,代表能送给最多几个妹子。

Sample Input:

5 4 3

Sample Output:

4
note:在此样例中,可以集成abb,bcc,caa,aab.4束,送给4个妹子。
解题思路:多枚举几个栗子可以发现,如果最小的两个数之和(a[0]+a[1])(已排序)的两倍小于最大数,则一共有(a[0]+a[1])束,否则为三者的平均值,水过。
AC代码:
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 long long a[5];//要用长整型
 4 int main(){
 5     while(cin>>a[0]>>a[1]>>a[2]){
 6         sort(a,a+3);
 7         if(a[2]>(a[0]+a[1])*2)cout<<(a[0]+a[1])<<endl;
 8         else cout<<(a[0]+a[1]+a[2])/3<<endl;
 9     }
10     return 0;
11 }
 

猜你喜欢

转载自www.cnblogs.com/acgoto/p/9278012.html