#CF2000B. 公交车上的座位安排
公交车上的座位安排
B. 公交车上的座位安排
- 时间限制:每测试点 秒
- 内存限制:每测试点 兆字节
在伯兰,一辆公交车有一排座位,编号从 到 。
乘客上车时被建议始终遵守以下规则:
- 如果车上没有座位被占用,乘客可以选择任意一个空闲座位坐下;
- 否则,乘客应该坐在任意一个至少有一个相邻座位已被占用的空闲座位上。
也就是说,对于座位 (),只有当座位 或 中至少有一个被占用时,乘客才能坐在座位 。
今天,一共有 名乘客按顺序上车。
数组 按时间顺序记录了每位乘客坐下的座位编号:
是第一个乘客坐下的座位, 是第二个乘客坐下的座位,依此类推。
你知道数组 的内容。请判断是否所有乘客都遵守了上述建议。
示例
例如,若 ,且 ,
那么建议没有被遵守,因为第 位乘客坐在了座位 ,而此时相邻座位 和 都还是空闲的。
输入格式
第一行包含一个整数 ()——测试用例的数量。
接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 ()——公交车的座位数以及乘客的人数。
每个测试用例的第二行包含 个互不相同的整数 ()——乘客按时间顺序坐下的座位编号。
数据保证所有测试用例的 之和不超过 ,且不会出现乘客坐到已被占用的座位的情况。
输出格式
对于每个测试用例,输出一行:
- 如果所有乘客都遵守了建议,输出
"YES"; - 否则输出
"NO"。
输出时大小写不敏感(例如 "yEs"、"yes"、"Yes"、"YES" 均视为肯定答案)。
样例输入
4
5
5 4 2 1 3
3
2 3 1
4
2 3 1 4
5
1 2 3 5 4
样例输出
NO
YES
YES
NO
提示
第一个测试用例的解释见题目描述。