#CF2075B. 数组重新着色

数组重新着色

B. 数组重新着色
每次测试的时间限制:2 秒
每次测试的内存限制:256 兆字节

给定一个大小为 nn 的整数数组 aa。初始时,数组的所有元素都被涂成红色。

你需要恰好选择数组中的 kk 个元素,将它们涂成蓝色。然后,只要还存在至少一个红色元素,你都必须选择一个有蓝色邻居的红色元素,并将其涂成蓝色。

涂色过程的总成本定义为:最初选择的 kk 个元素的值之和,再加上最后一个被涂成蓝色的元素的值

你的任务是:对于给定的数组,计算可能的最大涂色成本。


输入
第一行包含一个整数 tt1t1031 \le t \le 10^3)—— 测试用例的数量。
每个测试用例的第一行包含两个整数 nnkk2n50002 \le n \le 50001k<n1 \le k < n)。
第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9)。

输入附加约束:所有测试用例的 nn 之和不超过 50005000


输出
对于每个测试用例,输出一个整数 —— 可能的最大涂色成本。


示例
输入

3
3 1
1 2 3
5 2
4 2 3 1 3
4 3
2 2 2 2

输出

5
10
8

注释

  • 第一个示例:最初将第 22 个元素涂蓝,然后按顺序 1,31, 3 涂蓝。成本为 2+3=52 + 3 = 5
  • 第二个示例:最初将第 11 个和第 55 个元素涂蓝,然后按顺序 2,4,32, 4, 3 涂蓝。成本为 4+3+3=104 + 3 + 3 = 10
  • 第三个示例:最初将第 2,3,42, 3, 4 个元素涂蓝,然后将第 11 个元素涂蓝。成本为 2+2+2+2=82 + 2 + 2 + 2 = 8