zoukankan      html  css  js  c++  java
  • 1001-度度熊拼三角

    1001-度度熊拼三角

    题目:

     Time Limit: 2000/1000 MS (Java/Others)
     
     Memory Limit: 65536/65536 K (Java/Others)
    Problem Description

    度度熊有 NN 根木棒,每根木棒的长度为a_iai​​。

    现在要挑选其中的三根,问能拼出的三角形的最大周长是多少。

    如果不能拼成任何一个三角形,输出 -11。

    Input

    多组数据(不超过1010组),读到EOF结束。

    对于每一组数据:

    第一行一个数 NN 表示木棒数量。

    第二行一共 NN 个数,描述每一根木棒的长度。

    1 leq N leq 10001N1000

    木棒长度都是不超过100000100000的正整数

    Output

    对于每一组数据,输出一个数表示答案。

    Sample Input
    3
    1 1 100
    7
    1 9 9 90 2 2 4
    Sample Output
    -1
    22

    思路:

         简单贪心,先将木棒按照长度sort 一遍,在从最长的开始向前取,如果能组成三角形就是答案

    代码:

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    
    const int maxn = 1e3+30;
    int a[maxn];
    int ok(int a, int b, int c)
    {
        return a+b>c && a+c > b && b+c > a;
    }
    
    int main()
    {
        int n;
        while(~scanf("%d", &n))
        {
            for (int i = 1 ; i <= n ; i ++)
            {
                scanf("%d", a+i);
            }
            sort(a+1, a+1+n);
            int ans = -1;
            for (int i = n ; i >= 3 ; i --)
            {
                if (ok(a[i], a[i-1], a[i-2]))
                {
                    ans = a[i] + a[i-1] + a[i-2];
                    break;
                }
            }
            printf("%d
    ", ans);
        }
        return 0;
    }
  • 相关阅读:
    gitblit.cmd运行自动关闭
    用SourceTree轻松Git项目图解
    GUI for git|SourceTree|入门基础
    SourceTree的简单使用
    Windows平台使用Gitblit搭建Git服务器图文教程
    使用Gitblit 搭建Windows Git服务器
    Git使用详细教程
    Kafka 设计与原理详解
    Kafka 客户端实现逻辑分析
    js判断只能输入数字或小数点
  • 原文地址:https://www.cnblogs.com/longl/p/9460758.html
Copyright © 2011-2022 走看看