310428: CF1832B. Maximum Sum
Description
You are given an array $a_1, a_2, \dots, a_n$, where all elements are different.
You have to perform exactly $k$ operations with it. During each operation, you do exactly one of the following two actions (you choose which to do yourself):
- find two minimum elements in the array, and delete them;
- find the maximum element in the array, and delete it.
You have to calculate the maximum possible sum of elements in the resulting array.
InputThe first line contains one integer $t$ ($1 \le t \le 10^4$) — the number of test cases.
Each test case consists of two lines:
- the first line contains two integers $n$ and $k$ ($3 \le n \le 2 \cdot 10^5$; $1 \le k \le 99999$; $2k < n$) — the number of elements and operations, respectively.
- the second line contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^9$; all $a_i$ are different) — the elements of the array.
Additional constraint on the input: the sum of $n$ does not exceed $2 \cdot 10^5$.
OutputFor each test case, print one integer — the maximum possible sum of elements in the resulting array.
ExampleInput6 5 1 2 5 1 10 6 5 2 2 5 1 10 6 3 1 1 2 3 6 1 15 22 12 10 13 11 6 2 15 22 12 10 13 11 5 1 999999996 999999999 999999997 999999998 999999995Output
21 11 3 62 46 3999999986Note
In the first testcase, applying the first operation produces the following outcome:
- two minimums are $1$ and $2$; removing them leaves the array as $[5, 10, 6]$, with sum $21$;
- a maximum is $10$; removing it leaves the array as $[2, 5, 1, 6]$, with sum $14$.
$21$ is the best answer.
In the second testcase, it's optimal to first erase two minimums, then a maximum.
Input
题意翻译
**本题有多组测试数据** 给定一个长度为 $n$ 的数列,其中每个元素互不相同,进行 $k$ 次操作,每次可以选择删除序列中最小的两个数或最大的一个数。求操作后剩余数的和的最大值。 $3 \leq n \leq 2 \times 10^{5},1 \leq k \leq 99999,2k \leq n$。Output
给定一个所有元素都不同的数组a_1, a_2, ..., a_n。你必须对这个数组执行恰好k次操作。每次操作,你可以选择以下两种动作之一:
1. 找到数组中的两个最小元素并删除它们;
2. 找到数组中的最大元素并删除它。
你需要计算结果数组中元素的最大可能和。
输入数据格式:
第一行包含一个整数t(1 ≤ t ≤ 10^4)——测试用例的数量。
每个测试用例包含两行:
1. 第一行包含两个整数n和k(3 ≤ n ≤ 2 * 10^5;1 ≤ k ≤ 99999;2k < n)——元素的数量和操作的数量。
2. 第二行包含n个整数a_1, a_2, ..., a_n(1 ≤ a_i ≤ 10^9;所有a_i都不同)——数组的元素。
输入数据的附加约束:n的总和不超过2 * 10^5。
输出数据格式:
对于每个测试用例,打印一个整数——结果数组中元素的最大可能和。
示例:
输入:
6
5 1
2 5 1 10 6
5 2
2 5 1 10 6
3 1
1 2 3
6 1
15 22 12 10 13 11
6 2
15 22 12 10 13 11
5 1
999999996 999999999 999999997 999999998 999999995
输出:
21
11
3
62
46
3999999986
注意:
在第一个测试用例中,应用第一种操作产生以下结果:
- 两个最小元素是1和2;删除它们后数组为[5, 10, 6],和为21;
- 最大元素是10;删除它后数组为[2, 5, 1, 6],和为14。
21是最好的答案。
在第二个测试用例中,最优的操作是首先删除两个最小元素,然后删除一个最大元素。题目大意: 给定一个所有元素都不同的数组a_1, a_2, ..., a_n。你必须对这个数组执行恰好k次操作。每次操作,你可以选择以下两种动作之一: 1. 找到数组中的两个最小元素并删除它们; 2. 找到数组中的最大元素并删除它。 你需要计算结果数组中元素的最大可能和。 输入数据格式: 第一行包含一个整数t(1 ≤ t ≤ 10^4)——测试用例的数量。 每个测试用例包含两行: 1. 第一行包含两个整数n和k(3 ≤ n ≤ 2 * 10^5;1 ≤ k ≤ 99999;2k < n)——元素的数量和操作的数量。 2. 第二行包含n个整数a_1, a_2, ..., a_n(1 ≤ a_i ≤ 10^9;所有a_i都不同)——数组的元素。 输入数据的附加约束:n的总和不超过2 * 10^5。 输出数据格式: 对于每个测试用例,打印一个整数——结果数组中元素的最大可能和。 示例: 输入: 6 5 1 2 5 1 10 6 5 2 2 5 1 10 6 3 1 1 2 3 6 1 15 22 12 10 13 11 6 2 15 22 12 10 13 11 5 1 999999996 999999999 999999997 999999998 999999995 输出: 21 11 3 62 46 3999999986 注意: 在第一个测试用例中,应用第一种操作产生以下结果: - 两个最小元素是1和2;删除它们后数组为[5, 10, 6],和为21; - 最大元素是10;删除它后数组为[2, 5, 1, 6],和为14。 21是最好的答案。 在第二个测试用例中,最优的操作是首先删除两个最小元素,然后删除一个最大元素。