JOIN
Get Time

   Problem Statement  

 Problem Statement for PackingBallsDiv2

Problem Statement

    We have R red, G green, and B blue balls. We want to divide them into as few packages as possible. Each package must contain 1, 2, or 3 balls. Additionally, each package must be either a "normal set" (all balls in the package have the same color), or a "variety set" (no two balls have the same color). Compute and return the smallest possible number of packages.
 

Definition

    
Class:PackingBallsDiv2
Method:minPacks
Parameters:int, int, int
Returns:int
Method signature:int minPacks(int R, int G, int B)
(be sure your method is public)
    
 

Constraints

-R, G, and B will each be between 1 and 100, inclusive.
 

Examples

0)
    
4
2
4
Returns: 4
We have 4 red, 2 green, and 4 blue balls. Clearly, we need at least four packages to store 10 balls. One possibility of using exactly four packages looks as follows: RGB, RG, RR, BBB. (I.e., the first package has 1 ball of each color, the second package has a red and a green ball, and so on.)
1)
    
1
7
1
Returns: 3
Here the only possible solution is to have one package with RGB and two packages with GGG each.
2)
    
2
3
5
Returns: 4
3)
    
78
53
64
Returns: 66
4)
    
100
100
100
Returns: 100

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2010, TopCoder, Inc. All rights reserved.

This problem was used for:
       Single Round Match 609 Round 1 - Division II, Level Two