#CF1922B. 组成三角形
组成三角形
B. 组成三角形
时间限制:每个测试 秒
内存限制:每个测试 MB
你有 根棍子,编号从 到 。第 根棍子的长度为 。
你想从给定的 根棍子中恰好选出 根,并用它们作为三角形的三条边组成一个非退化三角形。若一个三角形的面积严格大于 ,则称其为非退化三角形。
你需要计算有多少种选出 根棍子的方案,使得它们能组成一个三角形。注意选取棍子的顺序无关紧要(例如,选择第 、 和 根棍子与选择第 、 和 根棍子视为同一种方案)。
输入
第一行包含一个整数 ()——测试用例的数量。
每个测试用例包含两行:
- 第一行包含一个整数 ();
- 第二行包含 个整数 ()。
输入的附加限制:所有测试用例的 之和不超过 。
输出
对于每个测试用例,输出一个整数——能组成三角形的选出 根棍子的方案数。
样例
输入
4
7
1 1 1 1 1 1 1
4
3 2 1 3
3
1 2 3
1
1
输出
35
2
0
0
说明
在第一个测试用例中,给定 根棍子中的任意 根都可以被选出组成三角形。
在第二个测试用例中,你可以选择第 、 和 根棍子,或者第 、 和 根棍子。
在第三个测试用例中,无法用长度为 、 和 的棍子组成三角形。