题目描述
有n根小木棒,任选三根木棒组成一个三角形,问三角形周长最大是多少。(保证至少存在一种选法能组成三角形)
输入数据
第一行为一个正整数n,3=<n<=100 第二行为n个正整数,代表小木棒长度,不超过100.
输出数据
三角形周长的最大值
样例输入
5
1 2 3 4 5
样例输出
12
#include <iostream>
#include<vector>
#include<algorithm>
using namespace std;
int n;
int sum;
int ans=0;
typedef vector<int> LISTINT;
int main()
{
LISTINT obj;
LISTINT::iterator i;
cin >> n;
for (int i = 0; i < n; i++)
{
int temp;
scanf("%d", &temp);
obj.push_back(temp);
}
sort(obj.begin(), obj.end());
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
for (int k = j + 1; k < n; k++)
{
sum = obj[i] + obj[j] + obj[k];
if (obj[i] + obj[j] > obj[k] && sum > ans)
ans = sum;
}
cout << sum;
return 0;
}