#CF2075B. 数组重新着色
数组重新着色
B. 数组重新着色
每次测试的时间限制:2 秒
每次测试的内存限制:256 兆字节
给定一个大小为 的整数数组 。初始时,数组的所有元素都被涂成红色。
你需要恰好选择数组中的 个元素,将它们涂成蓝色。然后,只要还存在至少一个红色元素,你都必须选择一个有蓝色邻居的红色元素,并将其涂成蓝色。
涂色过程的总成本定义为:最初选择的 个元素的值之和,再加上最后一个被涂成蓝色的元素的值。
你的任务是:对于给定的数组,计算可能的最大涂色成本。
输入
第一行包含一个整数 ()—— 测试用例的数量。
每个测试用例的第一行包含两个整数 和 (,)。
第二行包含 个整数 ()。
输入附加约束:所有测试用例的 之和不超过 。
输出
对于每个测试用例,输出一个整数 —— 可能的最大涂色成本。
示例
输入
3
3 1
1 2 3
5 2
4 2 3 1 3
4 3
2 2 2 2
输出
5
10
8
注释
- 第一个示例:最初将第 个元素涂蓝,然后按顺序 涂蓝。成本为 。
- 第二个示例:最初将第 个和第 个元素涂蓝,然后按顺序 涂蓝。成本为 。
- 第三个示例:最初将第 个元素涂蓝,然后将第 个元素涂蓝。成本为 。