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$