CF1833F Ira and Flamenco
题目描述
Ira 非常喜欢西班牙弗拉明戈舞。她决定开设自己的舞蹈工作室,并找到了 $n$ 名学生,第 $i$ 名学生的水平为 $a_i$。
Ira 可以选择她的几名学生组成一支舞蹈队。因此,她可以组建大量的舞蹈队,但她只对“壮丽舞蹈”感兴趣。一个舞蹈被称为“壮丽舞蹈”,当且仅当满足以下条件:
- 恰好有 $m$ 名学生参加舞蹈;
- 所有舞者的水平互不相同;
- 任意两名舞者的水平之差的绝对值严格小于 $m$。
例如,如果 $m = 3$ 且 $a = [4, 2, 2, 3, 6]$,则以下舞蹈是壮丽舞蹈(参与舞蹈的学生用红色标出):$[\color{red}{4}\color{black}, 2, \color{red}{2}\color{black}, \color{red}{3}\color{black}, 6]$,$[\color{red}{4}\color{black}, \color{red}{2}\color{black}, 2, \color{red}{3}\color{black}, 6]$。同时,舞蹈 $[\color{red}{4}\color{black}, 2, 2, \color{red}{3}\color{black}, 6]$,$[4, \color{red}{2}\color{black}, \color{red}{2}\color{black}, \color{red}{3}\color{black}, 6]$,$[\color{red}{4}\color{black}, 2, 2, \color{red}{3}\color{black}, \color{red}{6}\color{black}]$ 不是壮丽舞蹈。
在舞蹈 $[\color{red}{4}\color{black}, 2, 2, \color{red}{3}\color{black}, 6]$ 中,只有 $2$ 名学生参与,然而 $m = 3$。
在舞蹈 $[4, \color{red}{2}\color{black}, \color{red}{2}\color{black}, \color{red}{3}\color{black}, 6]$ 中,参与舞蹈的学生水平为 $2$ 和 $2$,然而所有舞者的水平应当互不相同。
在舞蹈 $[\color{red}{4}\color{black}, 2, 2, \color{red}{3}\color{black}, \color{red}{6}\color{black}]$ 中,学生水平为 $3$ 和 $6$,但 $|3 - 6| = 3$,然而 $m = 3$。
请帮助 Ira 统计她可以组建多少支壮丽舞蹈。由于这个数可能非常大,请对 $10^9 + 7$ 取模。两支舞蹈被认为是不同的,当且仅当参与舞蹈的学生集合不同。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。
每个测试用例的第一行包含两个整数 $n$ 和 $m$($1 \le m \le n \le 2 \cdot 10^5$),分别表示 Ira 的学生人数和壮丽舞蹈中舞者的人数。
每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$),表示学生的水平。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出一个整数,表示壮丽舞蹈的数量。由于这个数可能非常大,请对 $10^9 + 7$ 取模。
说明/提示
在第一个测试用例中,Ira 可以组建如下壮丽舞蹈:$[\color{red}{8}\color{black}, 10, 10, \color{red}{9}\color{black}, \color{red}{6}\color{black}, 11, \color{red}{7}\color{black}]$,$[\color{red}{8}\color{black}, \color{red}{10}\color{black}, 10, \color{red}{9}\color{black}, 6, 11, \color{red}{7}\color{black}]$,$[\color{red}{8}\color{black}, 10, \color{red}{10}\color{black}, \color{red}{9}\color{black}, 6, 11, \color{red}{7}\color{black}]$,$[\color{red}{8}\color{black}, 10, \color{red}{10}\color{black}, \color{red}{9}\color{black}, 6, \color{red}{11}\color{black}, 7]$,$[\color{red}{8}\color{black}, \color{red}{10}\color{black}, 10, \color{red}{9}\color{black}, 6, \color{red}{11}\color{black}, 7]$。
第二个测试用例的解释见题面。
由 ChatGPT 4.1 翻译