突发奇想的茂凯
时间限制(普通/Java): 1000 MS/3000 MS 运行内存限制 : 65536 KByte总提交 : 224测试通过 : 87
比赛描述
扭曲树精茂凯,英勇无畏的他每次战斗之后都会散落一些树枝,怀旧的他都将其收藏了起来,看做是自己胜利的勋章,已知总共收藏了n根树枝,且第i根树枝长为ai。
有一天,茂凯突发奇想——要是从中选出3根树枝,组成周长尽可能大的三角形,最大的可能周长为多少?
输入
首先输入一个正整数T,表示有T组数据(1≤T≤100)
对于每组数据,先输入一个正整数n,表示茂凯收藏了n根树枝(3≤n≤20)
然后再输入n个正整数,对于第i个数,表示第i根树枝长为ai,(1≤ai≤100000)
输出
对于每组测试数据,输出最大周长三角形的周长,若给出的树枝均无法构成三角形,请输出-1;
样例输入
2
5
234510
4
451020
样例输出
12
-1
题目来源
yuman
#include<iostream>#include<algorithm>using namespace std;int main(){int t,n,i,a[20];scanf("%d",&t);while(t--){scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",a+i);}sort(a,a+n);i=n-3;while(i>=0){if(a[i]+a[i+1]>a[i+2]){break;}i--;}if(i>=0){printf("%d\n",a[i]+a[i+1]+a[i+2]);}else{printf("-1\n");}}}