问题 5642 --福谷入仓

5642: 福谷入仓

时间限制: 4 Sec  内存限制: 256 MB
提交: 3  解决: 2
[提交][状态][命题人:]

题目描述

“福谷入仓”是福建省三明市将乐县良地村的一场传统的新年祈福仪式。仪式开始,村民们挑着稻谷,集中在村中水尾桥,在稻谷上盖上祖辈传下来的谷仓印。谷仓印一面刻着“福”字,寓意稻谷添福气。稻谷也成了“福谷”。
紧接着,村民们挑着“福谷”在村中行进,家家笑脸相迎,主妇们捧着碗碟,或蒸笼饭桶,站在自家门口,带头的领队送完“福”字,再撒上一小把“福谷”,寓意年年丰收、日子蒸蒸日上。
在仪式的终点,村民们会与孩童一起装扮谷仓,将丰收的稻谷存放进谷仓。长辈也借此教导晚辈要爱护耕地、珍惜粮食。

现在有 n 堆福谷需要入仓,为了简化问题,谷仓可以视为一条数轴,第 i 堆福谷具有两个参数 h[i] 和 pos[i] ,会在数轴上以 pos[i] 位置为中心,堆出一个谷堆,不同福谷的谷堆高度可以累加。具体而言,对于谷仓代表的数轴上的所有点 x ,谷物高度增加 max(0,h[i]-|pos[i]-x|) 。

为了避免谷物爆仓,数轴上所有点的谷物高度不能高于谷仓高度 m 。为了庆祝仪式举行,会选择一堆福谷,将其移除,做成饭吃掉。求对于每堆福谷,如果将其移除,剩余福谷能否实现所有点高度均不超过 m 。

输入

第一行输入一个正整数 T (1≤T≤10^4) ,表示数据组数。
接下来 T 组数据。
每组数据第一行包含两个正整数 n,m (1≤n≤2·10^5, 1≤m≤10^9) ,表示福谷堆数和谷仓高度。
接下来第 n 行,每行包含包含两个个正整数 pos[i],h[i] (1≤pos[i],h[i]≤10^9),表示第 i 堆福谷的两个参数。
保证所有数据的 n 总和不超过 2·10^5 。

输出

对于每组数据,输出一行包含 n 个字符的字符串 s 。如果只将第 i 堆福谷做成饭吃掉,剩余福谷所有点高度均不超过 m ,则字符串 s 的第 i 个字符为 '1' ,否则为 '0' 。
样例输入
Copy
4
3 6
1 5
5 5
3 4
2 3
1 3
5 2
2 5
1 6
10 6
6 12
4 5
1 6
12 5
5 5
9 7
8 3
样例输出
Copy
001
11
00
100110

提示

样例解释
在第 1 组数据中,所有福谷可以在数轴上可以构成以下图形:

如果移除低 3 个谷堆,则正与谷堆可以构成以下图形:

在第 2 组数据中,由于一开始谷堆高度都没超标,因此可以移除任意福谷。

在第 3 组数据中,没有办法避免高度超标。

来源

[提交][状态]