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 完成