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 翻译