Jewelry

Accepts: 21
Submissions: 48
Time Limit: 8000/4000 MS (Java/Others)
Memory Limit: 262144/262144 K (Java/Others)
问题描述
历经艰险,Psyche和Cupid终于要步入婚姻的殿堂啦~

凡间珠玉难以承载Cupid对Psyche的深爱。所以他在奥林匹斯之巅收集了众神的珍宝,为Psyche制作挂链。

链上有$ n $颗宝珠。第$ i $颗宝珠的种类是$ A_i $。Psyche心怀对母爱的感恩,决定把链上连续的一段献给母亲。

为了满足她母亲的爱好,那一段挂链上必须有至少一种类型的宝珠刚好出现$ x $次。

Psyche想要知道,她有多少种送给母亲挂链的方法。

两种选取挂链的方法$ [L_1, R_1] $和$ [L_2, R_2] $视作不同,仅当$ L_1 \neq L_2 $或者$ R_1 \neq R_2 $。
输入描述
第一行,一个整数$ T $ $ (1 \le T \le 15) $,代表数据组数。

对于每组数据,第一行,两个整数$ n,x $ $ (1 \le n \le 10 ^ 5, 1 \le x \le n) $。

第二行,$ n $个整数,第$ i $个整数代表$ A_i $ $ (0 \le A_i \le 10 ^ 9) $。
输出描述
输出$ T $行,对于每组数据,输出一个整数表示有多少种送给母亲挂链的方法。
输入样例
2
3 1
1 2 1
4 2
2 3 2 2
输出样例
6
3
Hint
对于第一组数据,所有方案都存在至少一种宝珠恰好出现$ 1 $次。

对于第二组数据,只有方案$ [1,3], [2,4], [3,4] $存在至少一种宝珠恰好出现$ 2 $次。

建议使用效率较高的读入方式。