zoukankan      html  css  js  c++  java
  • CF-478C

    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.

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

    分析:

    1.首先排序,

    2.如果前两者之和的两倍小于第三者。那么个数就是前两者之和的个数

    3.如果前两者之和的两倍大于第三者。我们可以这么想,先用第三者与前两者2:1平衡掉,然后前两者2:1一直走。也就是总数除以三

     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<algorithm>
     4 using namespace std;
     5 int main()
     6 {
     7     long long a[3];
     8     scanf("%lld%lld%lld",&a[0],&a[1],&a[2]);
     9     sort(a,a+3);
    10     if((a[0]+a[1])*2<=a[2])
    11     {
    12         printf("%d
    ",a[0]+a[1]);
    13     }
    14     else
    15     {
    16         printf("%d
    ",(a[0]+a[1]+a[2])/3);
    17     }
    18 }
    注:转载请注明出处
  • 相关阅读:
    java之类的封装
    java飞机大战之子弹的自动生成
    java之线程飞机大战制作
    java线程游戏之背景图片的移动
    mysql的安装以及简单的命令符
    java之控制多幅图片
    java之线程
    JAVA之数组队列
    java之链表
    python之数据库的操作(课前准备)
  • 原文地址:https://www.cnblogs.com/1625--H/p/9362962.html
Copyright © 2011-2022 走看看