CF2075B Array Recoloring
题目描述
给定一个大小为 $n$ 的整数数组 $a$。初始时,数组所有元素均被涂为红色。
你需要执行以下操作:
1. 选择恰好 $k$ 个元素并将其涂为蓝色;
2. 在存在至少一个红色元素的情况下,反复选择任意一个与蓝色元素相邻的红色元素并将其涂为蓝色。
涂色成本定义为以下两部分之和:
- 初始选择的 $k$ 个元素之和;
- 最后一个被涂色的元素的值。
你的任务是计算给定数组可能达到的最大涂色成本。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^3$)——测试用例的数量。
每个测试用例的第一行包含两个整数 $n$ 和 $k$($2 \le n \le 5000$;$1 \le k < n$)。
每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^9$)。
额外输入约束:所有测试用例的 $n$ 之和不超过 $5000$。
输出格式
对于每个测试用例,输出一个整数——该数组可能达到的最大涂色成本。
说明/提示
第一个示例中,初始涂色第 $2$ 个元素,随后按顺序涂色第 $1$、$3$ 个元素。涂色成本为 $2 + 3 = 5$。
第二个示例中,初始涂色第 $1$ 和第 $5$ 个元素,随后按顺序涂色第 $2$、$4$、$3$ 个元素。涂色成本为 $4 + 3 + 3 = 10$。
第三个示例中,初始涂色第 $2$、$3$、$4$ 个元素,随后涂色第 $1$ 个元素。涂色成本为 $2 + 2 + 2 + 2 = 8$。
翻译由 DeepSeek R1 完成