C. Table Decorations

xiaoxiao2021-02-28  142

time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output

You have r red, g green and b blue 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 number t of tables can be decorated if we know number of balloons of each color?

Your task is to write a program that for given values rg and b will find the maximum number t of tables, that can be decorated in the required manner.

Input

The single line contains three integers rg and b (0 ≤ r, g, b ≤ 2·109) — the number of red, green and blue baloons respectively. The numbers are separated by exactly one space.

Output

Print a single integer t — the maximum number of tables that can be decorated in the required manner.

Examples 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 balls, respectively.

解题说明:思路:a[1],a[2],a[3]从小到大排序,如果(a[1]+a[2])*2<=a[3]那么最大值就是a[1]+a[2]; 否则: 最大值就是三个数的和整除3(可以认为每张桌子的装饰都是 由最大值贡献2,次大值贡献1)

#include<cstdio> #include<algorithm> #include<cstring> #include<cstdlib> #include<iostream> using namespace std; int main() { long long r,g,b, ans; cin >> r >> g >> b; ans = min(min(min((r+g+b)/3, r+g), g+b), b+r); cout << ans<<endl; }

转载请注明原文地址: https://www.6miu.com/read-39591.html

最新回复(0)