小明正在上楼梯,当小明逐渐接近某层楼的时候,这层楼的声控灯检测到小明的脚步声便会亮起来,当小明逐渐远去的时候,声控灯由于一段时间内没检测到声音又会灭下去。
由于小明是匀速上楼的,而且他的速度把控得刚刚好,脚步声的音量也十分恰当,使得灯的亮灭呈现出这样的状态:他当前所在的楼层的声控灯是亮起的,他即将抵达的下一层楼的声控灯是亮起的,他刚刚离开的那层楼的声控灯也是亮起的。
现在你站在楼的外面,通过窗户看到了灯的亮灭状态,请推断小明现在在几楼?
输入格式
每个测试点包含以下内容:
第一行给出一个整数 TTT,表示接下来给出 TTT 组测试数据
每组测试数据包含两行
第一行包含两个数 n,mn,mn,m,表示这栋楼一共有 nnn 层,当前有 mmm 盏灯是亮起的,而其余灯都是熄灭的
第二行包含 mmm 个整数,这些整数按照从小到大的顺序给出亮起的灯的序号
保证输入数据是符合实际情况的
输出格式
输出 TTT 行,每行包含一个数字,按照输入的顺序依次给出每组测试数据的答案。如果答案不确定,请输出 −1-1−1
数据规模与约定
对于 50%50%50% 的数据,1≤T≤10,3≤n≤100,m=31 \le T \le 10, 3 \le n \le 100, m=31≤T≤10,3≤n≤100,m=3
对于 100%100%100% 的测试点,1≤T≤1000,1≤n≤109,1≤m≤31 \le T \le 1000, 1 \le n \le 10^9, 1 \le m \le 31≤T≤1000,1≤n≤109,1≤m≤3
样例输入
2
5 3
1 2 3
5 2
1 2
样例输出
2
1
#include<iostream>
using namespace std;
void main()
{
int num, step[1001], l,n,m,jg[100],p=0;
scanf_s("%d", &num);
int s = num,j=0;
int i = 0;
while (j!=num)
{
scanf_s("%d %d", &n, &m);
for (int i = 0; i < m; i++)
{
scanf_s("%d", &step[i]);
}
jg[j] = step[m-1]-1;
j++;
}
while (num--)
{
if (jg[p] <= n&&jg[p]!=0) {
printf("%d\n", jg[p]);
}
else
{
printf("-1\n");
}
p++;
}
}