C. Table Decorations (Codeforces Round 273), codeforces273
C. Table Decorationstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard output
You haveRRed,GGreen andBBlue balloons. To decorate a single table for the banquet you need exactly three balloons. Three balloons attached to some table shouldn't have the same color. What maximum numberTOf tables can be decorated if we know number of balloons of each color?
Your task is to write a program that for given valuesR,GAndBWill find the maximum numberTOf tables, that can be decorated in the required manner.
Input
The single line contains three integersR,GAndB(0 bytes ≤ bytesR, Bytes,G, Bytes,BLimit ≤ limit 2 · 109)-the number of red, green and blue baloons respectively. The numbers are separated by exactly one space.
Output
Print a single integerT-The maximum number of tables that can be decorated in the required manner.
Sample test (s) input
5 4 3
Output
4
Input
1 1 1
Output
1
Input
2 3 3
Output
2
Note
In the first sample you can decorate the tables with the following balloon sets: "rgg", "gbb", "brr", "rrg", where "r ", "g" and "B" represent the red, green and blue bils, respectively.
First, you must understand that when half of the maximum number of balloons is less than the sum of the number of the other two colors, it can certainly constitute the sum of the total number of colors/3.
Half of the balloon quantity is equal to or greater than the sum of the other two colors. The total number is composed of 2 + 1, and 2 is the maximum number of colors.
Code:
#include <iostream>#include <cstdio>#include <cstdio>#include <algorithm>using namespace std;int main(){ long long a[3]; scanf("%I64d%I64d%I64d",&a[0],&a[1],&a[2]); sort(a,a+3); long long ans=0; if((a[0]+a[1])<=a[2]/2) { ans=a[0]+a[1]; } else { ans=(a[0]+a[1]+a[2])/3; } printf("%I64d\n",ans); return 0;}
How can codeforces change the id color)
It's not Beijing time. It's four hours later. The color is not clear. I only know that 200 or 300 is blue.