本文主要是介绍【贪心】--【逝去的青春】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
我想起那天夕阳下的奔跑,那是我逝去的青春。再也回不去的曾经,你还得孩提时的童真吗?
曾近那么美好,我依稀记得摆弄过木棒,可惜啊,我一直没有学会如何在N根木棒中找到三根
木棒使得组成的三角形周长最大?我不想你们以后也带着遗憾生活,趁着还年轻,赶快找出来
吧!
输入格式
有多组测试数据,每组两行,第一行,一个整数M(3<= M < 10000),第二行M个数字,即木棒的长度。
输出
每组测试数据输出一行,能够成三角形,输出最大周长,不能就输出-1。
样例输入
5
2 3 4 5 10
4
4 5 10 20
样例输出
12
-1
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream>
using namespace std;
int a[11000];
int main()
{int n,x;while(cin>>n){x=0;int i,j;memset(a,0,sizeof(a));for(i=0; i<n; i++)cin>>a[i];sort(a,a+n);for(i=n-1; i>=0; i--){if((a[i-1]+a[i-2])>a[i]){cout<<a[i]+a[i-1]+a[i-2]<<endl;x++;break;}}if(x==0)cout<<"-1"<<endl;}return 0;
}
这篇关于【贪心】--【逝去的青春】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!