#CF2053H. 精细的反单调操作
精细的反单调操作
H. 精细的反单调操作
每个测试用例的时间限制:2 秒 内存限制:512 兆字节
我会寻找那个终将脱离存在的你。 ——HyuN,Disorder
生活中总有许多重复的任务,艾瑞斯向来厌恶重复,因此她拒绝重复。但时光无法倒流,我们只能向前。
形式化地说,艾瑞斯有一个整数序列 ,序列中的每个数都在 到 之间(包含边界)。题目保证 。
艾瑞斯定义一次操作为:选择两个满足 的数 ,将它们修改为 范围内的任意两个整数。 艾瑞斯不喜欢相等,因此必须保证操作后 。 同一对相等的数 可以被多次选择操作。
艾瑞斯想知道:经过若干次(可以是 次)操作后,数组所有元素的最大可能和是多少,以及达到这个最大和所需的最少操作次数是多少。
输入格式
输入包含多个测试用例。 第一行输入一个整数 (),表示测试用例的数量。
每个测试用例的描述如下: 第一行包含两个整数 和 (,),分别表示数组的长度和元素的最大允许值。 第二行包含 个整数 (),表示数组中的元素。
保证所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出两个整数: 数组的最大可能和,以及达到该最大值所需的最少操作次数。
样例输入
2
5 8
1 2 3 4 5
7 5
3 1 2 3 4 1 1
样例输出
15 0
34 6
样例说明
第一个测试用例中,无法执行任何操作,因此答案为数组元素和 ,操作次数 。
第二个测试用例的操作过程如下: $[3,1,2,3,4,\underline{1,1}] \to [3,1,2,3,4,\underline{4,5}] \to [3,1,2,3,\underline{3,5},5] \to [3,1,2,\underline{2,5},5,5] \to [3,1,\underline{1,5},5,5,5] \to [3,\underline{3,5},5,5,5,5] \to [4,5,5,5,5,5,5]$
可以证明这是最优方案,因此输出和为 ,操作次数为 。