#CF2004A. 最近点
最近点
A. 最近点
时间限制:每测试点 秒
内存限制: 兆字节
考虑一条直线上的点集。两个点 和 之间的距离是 。
集合中的点 是集合中另一点 的最近点,如果集合中不存在其它点 使得从 到 的距离严格小于从 到 的距离。换句话说,集合中所有其它点到 的距离都大于或等于 。
例如,对于点集 :
- 对于点 ,最近点是 (其它点的距离都大于 );
- 对于点 ,有两个最近点: 和 ;
- 对于点 ,最近点是 (不是 ,因为 的距离大于 );
- 对于点 ,最近点是 。
给你一个点集。你需要往这个集合中添加一个整数点,这个点必须与集合中已有的点不同,并且要成为集合中每一个点的最近点。
问是否可能做到?
输入格式
第一行包含一个整数 ()——测试用例的数量。
每个测试用例包含两行:
- 第一行包含一个整数 ()——集合中点的数量;
- 第二行包含 个整数 ()——集合中的点(已按升序给出)。
输出格式
对于每个测试用例,如果可能按照题目要求添加一个新点,输出 YES,否则输出 NO。
样例输入
3
2
3 8
2
5 6
6
1 2 3 4 5 10
样例输出
YES
NO
NO
样例解释
- 第一个例子中,点 会成为 和 两者的最近点。
- 第二个例子中,不可能添加一个整数点使得它同时成为 和 的最近点,并且与它们都不同。
- 第三个例子中, 的最近点会是 (不是新点),所以不可能。