#CF2053H. 精细的反单调操作

精细的反单调操作

H. 精细的反单调操作

每个测试用例的时间限制:2 秒 内存限制:512 兆字节

我会寻找那个终将脱离存在的你。 ——HyuN,Disorder

生活中总有许多重复的任务,艾瑞斯向来厌恶重复,因此她拒绝重复。但时光无法倒流,我们只能向前。

形式化地说,艾瑞斯有一个整数序列 a1,a2,,ana_1,a_2,\dots,a_n,序列中的每个数都在 11ww 之间(包含边界)。题目保证 w2w \ge 2

艾瑞斯定义一次操作为:选择两个满足 ai=ai+1a_i = a_{i+1} 的数 ai,ai+1a_i, a_{i+1},将它们修改为 [1,w][1,w] 范围内的任意两个整数。 艾瑞斯不喜欢相等,因此必须保证操作后 aiai+1a_i \neq a_{i+1}。 同一对相等的数 ai,ai+1a_i, a_{i+1} 可以被多次选择操作。

艾瑞斯想知道:经过若干次(可以是 00 次)操作后,数组所有元素的最大可能和是多少,以及达到这个最大和所需的最少操作次数是多少。

输入格式

输入包含多个测试用例。 第一行输入一个整数 tt1t1051 \le t \le 10^5),表示测试用例的数量。

每个测试用例的描述如下: 第一行包含两个整数 nnww1n21051 \le n \le 2 \cdot 10^52w1082 \le w \le 10^8),分别表示数组的长度和元素的最大允许值。 第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n1aiw1 \le a_i \le w),表示数组中的元素。

保证所有测试用例的 nn 之和不超过 10610^6

输出格式

对于每个测试用例,输出两个整数: 数组的最大可能和,以及达到该最大值所需的最少操作次数

样例输入

2
5 8
1 2 3 4 5
7 5
3 1 2 3 4 1 1

样例输出

15 0
34 6

样例说明

第一个测试用例中,无法执行任何操作,因此答案为数组元素和 1515,操作次数 00

第二个测试用例的操作过程如下: $[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]$

可以证明这是最优方案,因此输出和为 3434,操作次数为 66