#XCPC005. Would You Make a Convex?
Would You Make a Convex?
题目描述
江月诗 是国际凸多边形锦标赛(International Convex Polygon Championship, ICPC)的裁判长。他为比赛提出了一道几何题。然而,由于他在几何方面经验不足,未能生成正确的凸多边形数据。
为了证明自己的几何能力,江月诗 开始玩起了木棍。他有 根木棍,第 根木棍的长度为 。他打算从中选出至少 根木棍,使得这些木棍可以组成一个非退化凸多边形。
然而,由于 江月诗 并不了解几何方面的知识,他不知道应该如何选择木棍。作为 江月诗 的好朋友,你需要帮助他找到木棍的一个子集,使得:
-
该子集中包含至少 根木棍,且包含的木棍数量尽可能多;
-
江月诗 从该子集中任意选出至少 根木棍,这些木棍都可以组成一个非退化凸多边形。
或报告不存在满足要求的子集。
注:所有边长大于零、没有三点共线且所有内角严格小于 的凸多边形被称作非退化凸多边形。
输入格式
本题包含多组测试数据。
第一行包含一个正整数 ,表示测试数据组数。
对于每组测试数据:
-
第一行包含一个正整数 。
-
第二行包含 个正整数 。
保证所有测试数据中 的总和不超过 。
输出格式
对于每组测试数据,输出一行:
-
若不存在满足要求的子集,则输出一个整数 。
-
若存在满足要求的子集,则先输出一个整数 ,表示你找到的子集的大小,再输出 个整数 ,表示你找到的子集中的木棍的长度。
3
3
6 9 2 6
3
4 4 9
6
3 1 4 6 5 9
3 6 2 6
0
4 3 4 5 6
说明/提示
-
对于第 1 组测试数据:
-
为满足要求的子集;由于 ,这 根木棍可以组成一个非退化三角形;容易证明不存在更大的满足要求的子集。
-
同样为满足要求的子集。
-
-
对于第 2 组测试数据:
- 可以证明不存在满足要求的子集。
-
对于第 3 组测试数据:
-
为满足要求的子集;此时 江月诗 有 共 种选择木棍的方式,而每种选择方式都可以组成一个非退化凸多边形;容易证明不存在更大的满足要求的子集。
-
不为满足要求的子集,因为长度为 的木棍无法组成一个非退化三角形。
-
不为满足要求的子集,因为存在更大的满足要求的子集。
-