题目
有n根棍子,棍子i的长度为ai。想要从中选出3根棍子组成周长尽可能长的三角形。请输出最大的周长,若无法组成三角形则输出0。
限制条件
- 3≤n≤1000
- 1≤ai≤106
样例
输入
n = 5
a = {2,3,4,5,10}
输出
12(选择3,4,5时)
输入
n = 4
a = {4,5,10,20}
输出
0(无论怎么选都无法组成三角形)
选择3根棍子,它们能组成三角形的充要条件为最长棍子的长度<其余两根棍子的长度之和。首先用三重循环枚举所有的棍子选择方案,再利用上式判断能否组成三角形。如果可以,那么该三角形的周长就是答案
//输入
int n, a[MAX_N];
void solve(){
in

最低0.47元/天 解锁文章
367

被折叠的 条评论
为什么被折叠?



