CF1684E.MEX vs DIFF
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array a of n non-negative integers. In one operation you can change any number in the array to any other non-negative integer.
Let's define the cost of the array as DIFF(a)−MEX(a), where MEX of a set of non-negative integers is the smallest non-negative integer not present in the set, and DIFF is the number of different numbers in the array.
For example, MEX(1,2,3)=0, MEX(0,1,2,4,5)=3.
You should find the minimal cost of the array a if you are allowed to make at most k operations.
给你一个包含 n 个非负整数的数组 a。在一次操作中,你可以将数组中的任意一个数改为任意其他非负整数。
我们定义数组的代价为 DIFF(a)−MEX(a),其中 MEX 表示一组非负整数的“最小缺失非负整数”(即不在该集合中的最小非负整数),而 DIFF 表示数组中不同数字的个数。
例如,MEX(1,2,3)=0,MEX(0,1,2,4,5)=3。
你最多可以执行 k 次操作,求数组 a 的最小可能代价。
输入格式
The input consists of multiple test cases. The first line contains a single integer t (1≤t≤104) — the number of test cases. Description of the test cases follows.
The first line of each test case contains two integers n and k (1≤n≤105, 0≤k≤105) — the length of the array a and the number of operations that you are allowed to make.
The second line of each test case contains n integers a1,a2,…,an (0≤ai≤109) — the elements of the array a.
It is guaranteed that the sum of n over all test cases does not exceed 105.
输入包含多个测试用例。第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。随后是各测试用例的描述。
每个测试用例的第一行包含两个整数 n 和 k(1≤n≤105,0≤k≤105),分别表示数组 a 的长度以及允许执行的操作次数。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(0≤ai≤109),表示数组 a 的元素。
保证所有测试用例中 n 的总和不超过 105。
输出格式
For each test case output a single integer — minimal cost that it is possible to get making at most k operations.
对于每个测试用例,输出一个整数——在最多进行 k 次操作的前提下所能达到的最小代价。
输入输出样例
输入#1
4 4 1 3 0 1 2 4 1 0 2 4 5 7 2 4 13 0 0 13 1337 1000000000 6 2 1 2 8 0 0 0
输出#1
0 1 2 0
说明/提示
In the first test case no operations are needed to minimize the value of DIFF−MEX.
In the second test case it is possible to replace 5 by 1. After that the array a is [0,2,4,1], DIFF=4, MEX=MEX(0,1,2,4)=3, so the answer is 1.
In the third test case one possible array a is [4,13,0,0,13,1,2], DIFF=5, MEX=3.
In the fourth test case one possible array a is [1,2,3,0,0,0].
在第一个测试用例中,无需执行任何操作即可最小化 DIFF−MEX 的值。
在第二个测试用例中,可以将 5 替换为 1。替换后数组 a 变为 [0,2,4,1],此时 DIFF=4,MEX=MEX({0,1,2,4})=3,因此答案为 1。
在第三个测试用例中,一个可能的数组 a 是 [4,13,0,0,13,1,2],此时 DIFF=5,MEX=3。
在第四个测试用例中,一个可能的数组 a 是 [1,2,3,0,0,0]。
输入解题思路,AI测评打分。不知道怎么写?