CF1922B Forming Triangles
题目描述
你有 $n$ 根木棍,编号从 $1$ 到 $n$。第 $i$ 根木棍的长度为 $2^{a_i}$。
你需要从这 $n$ 根木棍中恰好选出 $3$ 根,并用它们作为三角形的三条边,组成一个非退化三角形。一个三角形被称为非退化三角形,当且仅当它的面积严格大于 $0$。
你需要计算有多少种方式可以恰好选出 $3$ 根木棍,使得它们能够组成一个三角形。注意,选取木棍的顺序无关(例如,选择第 $1$、$2$、$4$ 根木棍与选择第 $2$、$4$、$1$ 根木棍是相同的)。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。
每个测试用例包含两行:
- 第一行包含一个整数 $n$($1 \le n \le 3 \cdot 10^5$);
- 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($0 \le a_i \le n$)。
输入的额外约束:所有测试用例中 $n$ 的总和不超过 $3 \cdot 10^5$。
输出格式
对于每个测试用例,输出一个整数,表示有多少种方式可以恰好选出 $3$ 根木棍,使得它们能够组成一个三角形。
说明/提示
在第一个样例中,给定的 $7$ 根木棍任意选三根都可以组成三角形。
在第二个样例中,你可以选择第 $1$、$2$、$4$ 根木棍,或者第 $1$、$3$、$4$ 根木棍。
在第三个样例中,给定的长度为 $2$、$4$ 和 $8$ 的木棍无法组成三角形。
由 ChatGPT 4.1 翻译