美文网首页ACM
挑战程序设计竞赛(1.6-p26)

挑战程序设计竞赛(1.6-p26)

作者: 百炼 | 来源:发表于2016-11-21 15:03 被阅读0次

挑战程序设计竞赛

标签 : acm
参考

P26

1.6 有n根棍子,棍子i的长度为ai,想要从中选出3根棍子组成周长尽可能长的三角形,请输出最大的周长,若无法组成三角形则输出0。

思路:直接三重循环遍历能得到结果,时间复杂度为$O(n^3)$,如果给定的棍子是排好序的,那事情就好办了,若
$n1<n2<n3<n4<...<nk$,选取邻近的三个数即可。显然如果选择为ni,n(i+1),n(i+2)

#define ONLINE_JUDGE
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
#include <functional>
using namespace std;
 
int main(int argc, char *argv[])
{
#ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
#endif
    int n;
    cin >> n;
    vector<int> coll;
    copy(istream_iterator<int>(cin), istream_iterator<int>(), back_inserter(coll));
    sort(coll.begin(), coll.end(), greater<int>());
    //copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
    bool found = false;
    for (int i = 0; i < n - 2; ++i)
    {
        if (coll[i] < coll[i + 1] + coll[i + 2])
        {
            cout << coll[i] + coll[i + 1] + coll[i + 2] << endl;
            found = true;
            break;
        }
    }
    if (!found)
    {
        cout << 0 << endl;
    }
#ifndef ONLINE_JUDGE
    fclose(stdin);
    fclose(stdout);
    system("out.txt");
#endif
    return 0;
}

相关文章

  • 挑战程序设计竞赛(1.6-p26)

    挑战程序设计竞赛 标签 : acm参考 P26 1.6 有n根棍子,棍子i的长度为ai,想要从中选出3根棍子组成周...

  • 用快速幂运算求斐波那契,时间复杂度降到O(logn)

    思路来自《挑战程序设计竞赛》 可运行的C++代码如下

  • 简介

    这是关于《挑战程序设计竞赛(第2版)》的刷题记录。因为POJ评测快,全英文,评测结果反馈与ICPC竞赛相同,所以选...

  • 挑战程序设计竞赛11.7

    今天读的挑战程序设计竞赛的图的最短路问题,只看了一个dijkstra算法,但没怎么看明白。 又把昨天的bellma...

  • 挑战程序设计竞赛11.4

    /* 今天读了一种叫做并查集的数据结构,以前做题做到了,但一些解题报告质量参差不齐, 自己只是理解个大概了,不知道...

  • 挑战程序设计竞赛11.2

    今天读了如何实现优先队列,及如何运用。可以用数组来表示二叉树,节点是从上到下从左到右的顺序紧凑排列,它最重要的性质...

  • 挑战程序设计竞赛11.3

    今天读了二叉搜索树的实现以及set和map的简单用法。 二叉搜索树实际上就是一颗二叉树,但它有一个特点,就是每个节...

  • 挑战程序设计竞赛11.11

    今天在高铁上读了一点,只看了辗转相除法。 int gcd(int a,int b){ if(b==0) retur...

  • 挑战程序设计竞赛11.5

    今天读了挑战程序设计竞赛的2.5,介绍了图的一些概念。 图的表示方法,邻接矩阵和邻接表。 邻接矩阵可以简单地建一个...

  • 多重集组合数

    在挑战程序设计竞赛第69页公式dp[i+1][j] = dp[i][j] + dp[i+1][j-1] - dp[...

网友评论

    本文标题:挑战程序设计竞赛(1.6-p26)

    本文链接:https://www.haomeiwen.com/subject/peeupttx.html