#CF2148E. 拆分

    ID: 6961 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>二分数据结构双指针CodeforcesCodeforces Round 1050(Div4)Div4ECF2148E1200

拆分

题目描述

给定数组 aa 和整数 kk。对每个子数组 a[l,r]a[l,r],其中的元素必须放入第 1 个多重集合,其余元素可任意放入 kk 个多重集合。若能使最终 kk 个多重集合完全相同,则该子数组是好的。求好子数组个数。

输入格式

第一行包含整数 tt。每组数据给出 n,kn,k,随后一行给出数组 aa

输出格式

对每组数据输出好子数组数量。

样例

4
3 2
1 1 1
4 2
1 2 1 2
8 2
3 3 3 3 2 2 2 2
6 3
1 1 1 1 1 1
0
7
18
11

说明

若某个值在整个数组中的出现次数不能被 kk 整除,则没有任何子数组可行。

数据范围

本题来自 Codeforces Round 1050 (Div. 4),原题编号 CF2148E,英文题名 Split。