CF1967A Permutation Counting
题目描述
你有一些卡片。具体地,你有 $a_i$ 张写着 $i$ 的卡片 $(i\in [1,n])$。
现在你可以从商店购买 $k$ 张空白卡片,并且在这 $k$ 张卡片上任意填上一个 $[1,n]$ 中的整数。
定义一个序列是 $n$ 好的,且仅当它长度为 $n$ 且升序排序后是 $1$ 到 $n$ 的排列。
购买并填完 $k$ 张卡片后,你需要重新将这些卡片排序,使得你的序列中的 $n$ 好子段个数最多并求出个数。
输入格式
有 $T$ 组数据。
第一行为一个正整数 $T$,表示数据组数。
对于每组数据:
第一行是两个非负整数 $n,k$。
第二行是 $n$ 个正整数,第 $i$ 个数为 $a_i$。
输出格式
对于每一组数据,输出购买,填写并重排卡片后,卡片序列中 $n$ 好子段的最大个数并换行。
说明/提示
$1\le n\le 2\times 10^5,0\le a_i,k\le 10^{12},1\le T\le 100,1\le\sum n\le 5\times 10^5$