CF1684E MEX vs DIFF
题目描述
给你一个大小为 $n$ 的数组 $a$,保证数组内元素非负,你可以执行以下操作最多 $k$ 次:
在一次操作中将数组内任意一个数字改为任何一个非负整数。
现在定义这个数组的成本为 $\operatorname{DIFF}(a)−\operatorname{MEX}(a)$,其中 $\operatorname{DIFF}(a)$ 为 $a$ 数组内元素去重后的数量,$\operatorname{MEX}(a)$ 为数组中未出现的元素中最小的非负整数,
举个例子,$\operatorname{MEX}(\{1,2,3\})=0$,$\operatorname{MEX}(\{0,1,2,4,5\})=3$。
现在给你数组 $a$,求能实现的最小成本。
输入格式
输入由多个测试用例组成。第一行包含一个整数 $t$($1\le t\le10^4$),表示测试用例的数量。下面是测试用例的描述。
每个测试用例的第一行包含两个整数 $n$ 和 $k$($1\le n\le10^5,0\le k\le10^5$),表示数组 $a$ 的长度和允许执行的操作数。
每个测试用例的第二行包含 $n$ 个整数 $a_1,a_2,\ldots,a_n$($0\le a_i\le10^9$),表示数组 $a$ 的元素。
保证所有测试用例 $n$ 的和不超过 $10^5$。
输出格式
对于每个测试用例输出一行一个整数,表示该用例能实现的最小成本。
说明/提示
在第一个测试用例中,不需要任何操作来最小化 $\operatorname{DIFF}-\operatorname{MEX}$ 的值。
在第二个测试用例中,可以将 $5$ 替换为 $1$。数组 $a$ 变为 $[0,2,4,1]$,$\operatorname{DIFF}=4$,$\operatorname{MEX}=\operatorname{MEX}(\{0,1,2,4\})=3$,所以答案是 $2$。
在第三个测试用例中,一个可能的数组 $a$ 的变形是 $[4,13,0,0,13,1,2]$,其中 $\operatorname{DIFF}=5$,$\operatorname{MEX}=3$。
在第四个测试用例中,一个可能的数组 $a$ 的变形是 $[1,2,3,0,0,0]$。