#CF1967A. 置换计数
置换计数
A. 置换计数
时间限制:每个测试用例 秒 内存限制: 兆字节
题目描述
你有一些卡片。每张卡片上写着一个 到 之间的整数: 具体来说,对于每个从 到 的 ,你拥有 张写有数字 的卡片。
商店里有无限的各种卡片,你有 枚硬币,总共可以购买最多 张新卡片,购买的卡片上可以是 到 之间的任意整数。
购买完新卡片后,将所有卡片排成一行。 一个排列的得分定义为:长度恰好为 的连续子数组中,是 排列的数量。
你能获得的最大得分是多少?
输入格式
每个测试包含多组数据。 第一行输入测试用例数 ()。
每组测试用例: 第一行包含两个整数 (,)。 第二行包含 个整数 ()。
保证所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出一个整数:可获得的最大得分。
样例输入
8
1 10
1
2 4
8 4
3 4
6 1 8
3 9
7 6 2
5 3
6 6 7 4 6
9 7
7 6 1 7 6 2 4 3 3
10 10
1 3 1 2 1 9 3 5 7 5
9 8
5 8 7 5 1 3 2 9 8
样例输出
11
15
15
22
28
32
28
36
样例解释
第一个测试用例:最终只能得到 个连续的 ,包含 个符合要求的长度为 的排列子数组,得分为 。
第二个测试用例:购买 张数字 、 张数字 ,排列为 ,共有 个 和 个 ,总得分 。