zoukankan      html  css  js  c++  java
  • Codeforces Round #603 (Div. 2) A. Sweet Problem

    【题目链接】A题链接

    【题目类型】思维

    【题目大意】有三种颜色的糖果(色素警告!)分别是红绿蓝,每天吃两个糖果,但两个糖果不能是同一个颜色,问最多能吃几天呢?

    【解题思路】这题还是比较简单的,主要是在于选择每天吃哪两个糖果,其实通过样例就可以知道每种情况了。

    input
    6
    1 1 1
    1 2 1
    4 1 1
    7 4 10
    8 1 4
    8 2 8
    output
    1
    2
    2
    10
    5
    9

    你会发现有两种情况,一个是两个最小的糖果相加小于或者等于第三个的情况,另一个则是 8 2 8类似数据的情况。
    也就是

    1. 情况1:a+b<=c
    2. 情况2:a+b > c

    在这里插入图片描述
    第一种情况很好解决,主要是在于第二种情况。

    那么我们不妨排一下序,a[0], a[1], a[2],如果是第二种情况的话,(a[0] + a[1] + a[2])/ 2 一定是落在第二个上面的,也就是a[1]上面,那我们就可以从这个(a[0] + a[1] + a[2])/ 2地方开始向两边去进行匹配

    (为什么除以2呢,因为每天是吃两个)

    //ac code
    		RD(a[0], a[1], a[2]);
            sort(a, a+3);
            if (a[0]+a[1] <= a[2]){cout << a[0]+a[1] << '
    ';}
            else { cout << min((a[0]+a[1]+a[2])/2, a[0]+a[1]) << '
    ';
    
  • 相关阅读:
    【SpringCloud】工程分类概况
    【Spring Alibaba】Sentinel/Nacos/RocketMQ/Seata/
    【Eureka】服务架构类知识点
    求车速
    尼科彻斯定理
    Tom数
    弟弟的作业
    汽水瓶
    POJ-2533-Longest Ordered Subsequence(LIS模板)
    HDU-1331-Function Run Fun(动态规划3)
  • 原文地址:https://www.cnblogs.com/ygbrsf/p/12519590.html
Copyright © 2011-2022 走看看