题意

给出一系列数字,判断其中哪三个数字可以构成一个三角形,如果有多个,输出周长最大的那个,如果没有输出 - 1

思路

数据较小,所有情况FOR一遍 判断一下

AC代码

#include <cstdio>
#include <cstring>
#include <ctype.h>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <map>
#include <stack>
#include <set>
#include <numeric>
#include <sstream> using namespace std;
typedef long long LL; const double PI = 3.14159265358979323846264338327;
const double E = 2.718281828459;
const double eps = 1e-6; const int MAXN = 0x3f3f3f3f;
const int MINN = 0xc0c0c0c0;
const int maxn = 50 + 5;
const int MOD = 1e9 + 7; LL a[maxn]; bool judge(LL b[])
{
if (b[0] + b[1] > b[2])
return true;
return false;
} int main()
{
int n;
cin >> n;
LL b[3], ans[3];
LL MAX = MINN;
for (int i = 0; i < n; i++)
scanf("%lld", &a[i]);
sort(a, a + n);
int i, j, k;
for (i = 0; i < n; i++)
{
for(j = i + 1; j < n; j++)
{
for (k = j + 1; k < n; k++)
{
b[0] = a[i];
b[1] = a[j];
b[2] = a[k];
sort(b, b + 3);
if (judge(b))
{
LL temp = b[0] + b[1] + b[2];
if (temp > MAX)
{
for (int l = 0; l < 3; l++)
ans[l] = b[l];
MAX = temp;
}
}
}
}
}
if (MAX != MINN)
{
printf("%lld %lld %lld\n", ans[0], ans[1], ans[2]);
}
else
cout << -1 << endl;
}

最新文章

  1. 1-7 basket.js localstorage.js缓存css、js
  2. 关于git的cherry-pick命令
  3. not in改写关联无需考虑重复数据
  4. javax.management
  5. Sencha Touch 2 结合HTML5的本地存储创建数据库实现增、删、改、查
  6. 在DLL中封装的VCL窗体Tab键响应的问题
  7. 201521123027 &lt;java程序设计&gt;第十周学习总结
  8. 更改EBS服务器域名/IP
  9. read()和write()
  10. 微服务架构-选择Spring Cloud,放弃Dubbo
  11. 纯js自动批量引入js、css插件,支持自定义参数
  12. 10.31vue(一)
  13. 排错-LR安装No&#160;Background&#160;bmp&#160;defined&#160;in&#160;...的解决办法
  14. [转帖]Gartner预测2019年全球IT支出将达到3.8万亿美元
  15. 利用模板导出文件(二)之jacob利用word模板导出word文件(Java2word)
  16. MIT Molecular Biology 笔记1 DNA的复制,染色体组装
  17. lamp配置多个虚拟站点
  18. HDU 5832 A water problem 水题
  19. Pandas数据规整
  20. Java线程代码实现

热门文章

  1. symbol lookup error
  2. 如何修改SESSION的生存时间
  3. 2017-5-14 湘潭市赛 Partial Sum 给n个数,每次操作选择一个L,一个R,表示区间左右端点,该操作产生的贡献为[L+1,R]的和的绝对值-C。 0&lt;=L&lt;R&lt;=n; 如果选过L,R这两个位置,那么以后选择的L,R都不可以再选择这两个位置。最多操作m次,求可以获得的 最大贡献和。
  4. 学习spring2--跟我一起学Spring 3(3)–使用Spring开发第一个HelloWorld应用
  5. SVN如何新建用户并分配权限
  6. staticmethod classmethod修饰符
  7. postgresql学习文档
  8. Unity3D学习笔记——组件之Effects(效果/特效)——Particle System(粒子系统)
  9. poj 2594(可相交的最小路径覆盖)
  10. PYTHON -转载,获取淘宝数据01