#P1056. [2025 实验室二面] 无语,跟你说不下去,典型的特大男人思维

[2025 实验室二面] 无语,跟你说不下去,典型的特大男人思维

题目背景

XL TECHNO -More Dance Remix- 是一首很有魅力的歌曲,它的谱面在Chunithm上也很有魅力,深受玩家喜爱。

实验室某学长为了达成XL TECHNO -More Dance Remix-的全正义目标,一直在刻苦训练,可是学长每次练习都会失误任意一个音符,不够耐心的学长决定通过修改谱面锁定那个会失误的音符。

题目描述

给出一个长度为nn的数组a(aiNa(a_i\in \Nain)a_i\le n)。学长可以进行任意次操作,每次操作可以将序列中任意一个数aia_i修改为[0,n][0,n]内的任意整数。给定k(k[0,n])k(k\in [0,n]),找出满足以下要求的最小操作次数:MEX(a)=k\text{MEX}(a)^*=k


*MEX(A):=min{nN:nA}\text{MEX}(A):=\min\{n\in \N:n\notin A\}是指没有出现在集合AA中的最小自然数


输入格式

第一行包含一个整数 t1t104t(1 ≤ t ≤ 10^4),表示测试用例的组数。

接下来对每组测试数据,格式如下:

第一行包含两个整数nnk1n21050knk(1 ≤ n ≤ 2·10^5,0 ≤ k ≤ n),分别表示数组aa的长度和要求的MEX(a)\text{MEX}(a) 的值;

第二行包含nn个整数a1,a2,,an0ain a_1, a_2,\cdots, a_n(0 ≤ a_i ≤ n),表示数组aa的各元素。

保证所有测试用例中nn的总和不超过 21052·10^5

输出格式

对于每组测试数据,输出一个整数——使得 MEX(a)=k\text{MEX}(a) = k 所需的最少操作次数。

输入输出样例

输入 #1

5
1 0
0
3 1
0 2 3
5 5
0 1 2 3 4
6 2
0 3 4 2 6 2
7 4
0 1 5 4 4 7 3

输出 #1

1
0
0
2
2

解释 #1

在第一组输入中,数组 a=[0]a = [0],因此它的 MEX=1\text{MEX}=1

通过删除这个 00(或将其替换为任意 x[1,n]x ∈ [1, n])后,数组的 MEX\text{MEX} 就变为0 0

因此,恰好需要进行11 次操作。

在第三组输入中,数组已经包含了所有数字0,1,2,3,40, 1, 2, 3, 4,因此初始时 MEX(a)5\text{MEX}(a)=5

因为这正好等于所需的k k,无需任何修改,最少操作次数为0 0