#CF1551E. 固定点
固定点
固定点
- 时间限制:1 秒
- 内存限制:256 MiB
题目描述
给定一个整数序列 。一次操作可以删除序列中的一个数,随后这个数右侧的所有数都向左移动一个位置。
对于删除操作结束后得到的序列 ,若 ,则称位置 是一个固定点。
请你求出,为使最终序列中至少有 个固定点,最少需要删除多少个数。如果无论怎样删除都无法做到,输出 。
输入格式
第一行包含一个整数 ,表示测试数据组数。
每组数据的第一行包含两个整数 ,分别表示序列长度和所需固定点数量。
每组数据的第二行包含 个整数 。
输出格式
对于每组数据,输出一行一个整数。若有解,输出最少删除次数;否则输出 。
样例输入 1
4
7 6
1 1 2 3 4 5 6
5 2
5 1 3 2 3
5 2
5 5 5 5 4
8 4
1 2 3 3 2 2 5 5
样例输出 1
1
2
-1
2
数据范围
对于所有数据,,,,且单个输入文件内所有测试数据的 之和不超过 。
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 30 | |
| 2 | ||
| 3 | 40 | 无特殊限制 |
提示
对于第一组样例,删除第一个数后得到 ,其中有 个固定点。
对于第二组样例,可以删除原序列中的第一个数和第三个数,也可以删除第二个数和第三个数。