链接:https://codeforces.com/problemset/problem/322/B
Fox Ciel has some flowers: r red flowers, g green flowers and b blue flowers. She wants to use these flowers to make several bouquets. There are 4 types of bouquets:
- To make a "red bouquet", it needs 3 red flowers.
- To make a "green bouquet", it needs 3 green flowers.
- To make a "blue bouquet", it needs 3 blue flowers.
- To make a "mixing bouquet", it needs 1 red, 1 green and 1 blue flower.
Help Fox Ciel to find the maximal number of bouquets she can make.
Input
The first line contains three integers r, g and b (0 ≤ r, g, b ≤ 109) — the number of red, green and blue flowers.
Output
Print the maximal number of bouquets Fox Ciel can make.
Examples
input
Copy
3 6 9
output
Copy
6
input
Copy
4 4 4
output
Copy
4
input
Copy
0 0 0
output
Copy
0
Note
In test case 1, we can make 1 red bouquet, 2 green bouquets and 3 blue bouquets.
In test case 2, we can make 1 red, 1 green, 1 blue and 1 mixing bouquet.
代码:
#include<bits/stdc++.h>
using namespace std;
long long n,m,t,k,s,d,max1=0,a,b,c,mod=1e9+7;
long long x[10];
main()
{
cin>>a>>b>>c;
x[1]=a/3+b/3+c/3+min(a%3,min(b%3,c%3));
x[2]=(a-1)/3+(b-1)/3+(c-1)/3+min((a-1)%3,min((b-1)%3,(c-1)%3))+1;
x[3]=(a-2)/3+(b-2)/3+(c-2)/3+min((a-2)%3,min((b-2)%3,(c-2)%3))+2;
cout<<max(x[1],max(x[3],x[2]));
}