CF1551E Fixed Points

题目描述

一个整数序列 $a_1,a_2,\dots,a_n$,一次操作,可以删除一个数,然后该数右侧的数向左移动一个单位。对于一个长度为 $n$ 的整数序列 $b_i$,求最少需要删除几个数后,会有至少 $k$ 个 $i$ 满足 $b_i=i$ 。

输入格式

第一行一个正整数 $t\ (1 \le t \le 100)$ 表示数据组数。 对于每组数据,第一行两个正整数 $n,k$ 分别表示整数序列的长度,以及至少满足 $b_i=i$ 的个数。 保证 $n$ 在测试数据中的总和不超过 $2000$。

输出格式

对于每组数据, - 如果无解,输出 $-1$ 。 - 否则,一个整数表示最小的删除次数,

说明/提示

对于第一个测试数据,序列不满足所需条件,但可以通过删除第一个数来提供,序列为 $[1,2,3,4,5,6]$,有 $6$ 个数满足条件。 对于第二个测试数据,有两种方法:第一种是删除 $a_1$ 和 $a_3$ ;第二种是删除 $a_2$ 和 $a_3$ 。