CF1462E1 Close Tuples (easy version)

题目描述

这是本题的简单版本。简单版与困难版的唯一区别在于 $k$ 和 $m$ 的取值范围(本题中 $k=2$,$m=3$)。此外,在本题中,你不需要对答案取模输出。 给定一个长度为 $n$ 的整数序列 $a$,其中每个元素都是 $1$ 到 $n$ 之间的整数。该序列可能包含重复元素(即某些元素可以相等)。 请你计算有多少个 $m=3$ 元素的元组,使得该元组中的最大值与最小值之差不超过 $k=2$。形式化地说,你需要找到满足下列条件的三元组下标 $i < j < z$ 的数量: $$ \max(a_i, a_j, a_z) - \min(a_i, a_j, a_z) \le 2. $$ 例如,如果 $n=4$ 且 $a=[1,2,4,3]$,则有两个满足条件的三元组($i=1, j=2, z=4$ 和 $i=2, j=3, z=4$)。如果 $n=4$ 且 $a=[1,1,1,1]$,则所有四个可能的三元组都满足条件。

输入格式

第一行包含一个整数 $t$($1 \le t \le 2 \cdot 10^5$),表示测试用例的数量。接下来是 $t$ 个测试用例。 每个测试用例的第一行包含一个整数 $n$($1 \le n \le 2 \cdot 10^5$),表示序列 $a$ 的长度。 接下来一行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le n$),表示序列 $a$。 保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。

输出格式

输出 $t$ 行,每行一个答案,表示每个测试用例中满足条件的三元组数量。注意,与困难版不同,本题不需要对答案取模,必须输出精确值。

说明/提示

由 ChatGPT 4.1 翻译