リンク:https://codeforces.com/problemset/problem/322/B
:フォックスシエルは、いくつかの花有する R 赤い花、 G 緑色の花及び bは 青色の花。彼女はいくつかのブーケを作るためにこれらの花を使用することを望んでいます。花束の4種類があります。
- 「赤い花束」を作るために、それは3赤い花を必要とします。
- 「緑の花束」を作るために、それは3緑色の花を必要とします。
- 「青い花束を」にするためには、3青い花を必要とします。
- 「混合花束を」にするためには、1つの赤、緑1、青1花を必要とします。
ヘルプフォックスシエル彼女が作ることができ花束の最大数を見つけることができます。
入力
最初の行は三つの整数含ま rは、 G 及び B (0≤ R、 G、 B 、赤、緑、青の花の数- ≤109)。
出力
フォックスシエルが作ることができ花束の最大数を出力します。
例
入力
コピー
3 6 9
出力
コピー
6
入力
コピー
4 4 4
出力
コピー
4
入力
コピー
0 0 0
出力
コピー
0
注意
テストケース1において、我々は、2本のグリーン花束と3本の青い花束を1本の赤い花束を作ることができます。
テストケース2に、我々は1つの赤、1つの緑、青1,1混合花束を作ることができます。
コード:
#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]));
}