DUDU是只可爱的小熊,喜欢乱吃农场主杜杜的蜂蜜,因此杜杜希望修一个长方形的篱笆,包裹住所有蜂蜜点,从而将DUDU隔离在外。
具体而言,杜杜有 n 个养殖蜂蜜点,依次为 (x1,y1),(x2,y2),⋯,(xn,yn) 。任何时刻篱笆都是长方形的。假设有篱笆位于 (X,Y) , (xi,yi) 位于长方形里边当且仅当 xi≤X 且 yi≤Y 。由于修建过程不能被DUDU知晓,杜杜建造篱笆要满足特定的规律!
我们需要进行一轮轮的扩建,直到我们的篱笆包裹住了所有蜂蜜点。假设当前篱笆位于 (X,Y) ,扩建的时候我们会选择一个 (xj,yj) 满足其不在篱笆里边,然后我们会扩建至 (max(X,xj),max(Y,yj)) 。令 A=max(X,xj),B=max(Y,yj) 。DUDU有个察觉值 m,所以这次扩建还需要满足 (A,B) 的篱笆周长减去 (A,B) 和 (X,Y) 的公共部分不超过 m 。详细解释如下:
- 若 X=A ,那么 2(B−Y)+X≤m 。
- 若 Y=B ,那么 2(A−X)+Y≤m 。
- 其他情况, 2A+2B−X−Y≤m 。
试问杜杜有没有扩建的方案,多组测试数据。
输入格式
第一行一个正整数 T 。
接下来 T 组测试数据,每组第一行两个整数 n,m 。
接下来 n 行,每行两个正整数 (x,y) ,表示其中一个蜂蜜点。
输出格式
对于每组测试数据,输出一行一个 Yes
或 No
表示是否有扩建方案。
样例一
input
3 3 6 1 1 4 1 2 2 4 9 1 4 2 3 3 2 4 1 10 14 10 8 1 6 2 5 4 2 5 5 8 9 2 7 6 8 6 5 7 4
output
Yes No Yes
样例二、三、四、五、六
见下发文件。
数据范围与提示
对于所有数据,x,y≤109,m≤4×109,∑n≤5×105 。记 L 为 所有数据中 n 的最大值,记 S=∑n2 ,H=∑n3
子任务编号 | L≤ | S≤ | H≤ | 分值 |
---|---|---|---|---|
1 | 1000 | 1.25×107 | 1.25×107 | 20 |
2 | 5×107 | 1.25×1017 | 30 | |
3 | 5×105 | 2.5×1011 | 50 |
时间限制:3s
空间限制:1024MB