CF1618D.Array and Operations
普及-
通过率:0%
时间限制:2.00s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array a of n integers, and another integer k such that 2k≤n.
You have to perform exactly k operations with this array. In one operation, you have to choose two elements of the array (let them be ai and aj; they can be equal or different, but their positions in the array must not be the same), remove them from the array, and add ⌊ajai⌋ to your score, where ⌊yx⌋ is the maximum integer not exceeding yx.
Initially, your score is 0. After you perform exactly k operations, you add all the remaining elements of the array to the score.
Calculate the minimum possible score you can get.
给你一个包含 n 个整数的数组 a,以及另一个满足 2k≤n 的整数 k。
你需要对该数组恰好执行 k 次操作。每次操作中,你必须选择数组中的两个元素(记为 ai 和 aj;它们的值可以相等或不同,但它们在数组中的下标必须不同),将这两个元素从数组中移除,并将 ⌊ajai⌋ 加入你的得分,其中 ⌊yx⌋ 表示不超过 yx 的最大整数。
初始时,你的得分为 0。在恰好执行完 k 次操作后,你需将数组中所有剩余元素的值也加到得分中。
请计算你能得到的最小可能得分。
输入格式
The first line of the input contains one integer t (1≤t≤500) — the number of test cases.
Each test case consists of two lines. The first line contains two integers n and k (1≤n≤100; 0≤k≤⌊2n⌋).
The second line contains n integers a1,a2,…,an (1≤ai≤2⋅105).
输入的第一行包含一个整数 t(1≤t≤500),表示测试用例的数量。
每个测试用例由两行组成。第一行包含两个整数 n 和 k(1≤n≤100;0≤k≤⌊2n⌋)。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤2⋅105)。
输出格式
Print one integer — the minimum possible score you can get.
输出一个整数——你能得到的最小可能得分。
输入输出样例
输入#1
5 7 3 1 1 1 2 1 3 1 5 1 5 5 5 5 5 4 2 1 3 3 7 2 0 4 2 9 2 1 10 10 1 10 2 7 10 3
输出#1
2 16 0 6 16
说明/提示
Let's consider the example test.
In the first test case, one way to obtain a score of 2 is the following one:
- choose a7=1 and a4=2 for the operation; the score becomes 0+⌊21⌋=0, the array becomes [1,1,1,1,3];
- choose a1=1 and a5=3 for the operation; the score becomes 0+⌊31⌋=0, the array becomes [1,1,1];
- choose a1=1 and a2=1 for the operation; the score becomes 0+⌊11⌋=1, the array becomes [1];
- add the remaining element 1 to the score, so the resulting score is 2.
In the second test case, no matter which operations you choose, the resulting score is 16.
In the third test case, one way to obtain a score of 0 is the following one:
- choose a1=1 and a2=3 for the operation; the score becomes 0+⌊31⌋=0, the array becomes [3,7];
- choose a1=3 and a2=7 for the operation; the score becomes 0+⌊73⌋=0, the array becomes empty;
- the array is empty, so the score doesn't change anymore.
In the fourth test case, no operations can be performed, so the score is the sum of the elements of the array: 4+2=6.
我们来考虑示例测试。
在第一个测试用例中,一种得到分数 2 的方法如下:
- 选择 a7=1 和 a4=2 执行操作;分数变为 0+⌊21⌋=0,数组变为 [1,1,1,1,3];
- 选择 a1=1 和 a5=3 执行操作;分数变为 0+⌊31⌋=0,数组变为 [1,1,1];
- 选择 a1=1 和 a2=1 执行操作;分数变为 0+⌊11⌋=1,数组变为 [1];
- 将剩余元素 1 加入分数,最终得分为 2。
在第二个测试用例中,无论选择何种操作,最终得分均为 16。
在第三个测试用例中,一种得到分数 0 的方法如下:
- 选择 a1=1 和 a2=3 执行操作;分数变为 0+⌊31⌋=0,数组变为 [3,7];
- 选择 a1=3 和 a2=7 执行操作;分数变为 0+⌊73⌋=0,数组变为空;
- 数组为空,因此分数不再变化。
在第四个测试用例中,无法执行任何操作,因此分数为数组各元素之和:4+2=6。
输入解题思路,AI测评打分。不知道怎么写?