克隆
时间限制:1 秒
内存限制:256 MB
输入:标准输入
输出:标准输出
题目描述
瑞克又开始克隆莫蒂了!这次瑞克总共要制造 $n$ 个克隆体。但由于克隆体数量可能非常多,他决定给它们编号。
不过,普通的编号对瑞克来说太简单了,于是他为每个莫蒂标记了从开头数起的序号或从末尾数起的序号。例如,如果瑞克想制造三个克隆体,那么一种可能的标记方式为 $[1, 2, 1]$(其中前两个标记为从头数的位置,最后一个标记为从尾数的位置)。
然而,所有的莫蒂都逃跑了。经过大量时间后,瑞克终于抓到了恰好 $n$ 个克隆体。但他不确定抓到的到底是不是之前逃跑的那些莫蒂,还是其他克隆体。趁瑞克忙于更重要的任务时,你需要检查被抓到的莫蒂是否符合瑞克的编号规则(因为如果立刻发现编号不匹配,就可以省去更复杂的验证工作)。
注意:被抓到的莫蒂不一定保持原来的排列顺序。
输入格式
第一行包含一个整数 $t$ —— 有莫蒂逃跑的瑞克的数量($1 \le t \le 10^5$)。接下来是每组测试数据的描述。
每组测试数据的第一行包含一个整数 $n$ —— 莫蒂的数量($1 \le n \le 10^5$)。
第二行包含 $n$ 个整数,表示被抓到的莫蒂的编号。每个编号不超过 $n$。
保证所有测试数据的 $n$ 之和不超过 $10^5$。
输出格式
对于每组测试数据,如果被抓到的莫蒂的编号符合瑞克的编号规则,则输出 YES,否则输出 NO。
样例
| 输入 | 输出 |
|---|---|
3 |
YES |
注释
在第一组测试数据中,所有莫蒂的编号要么是从头数的位置,要么是从尾数的位置。
在第二组测试数据中,前两个莫蒂可以认为是从头数编号,后两个是从尾数编号。
在第三组测试数据中,编号不符合题目描述中的规则。
