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]$。