#P3907. water flower

water flower

Description


老板需要你帮忙浇花。给出 N 滴水的坐标,y 表示水滴的高度,x 表示它下落到x
轴的位置。
每滴水以每秒 1 个单位长度的速度下落。你需要把花盆放在 x 轴上的某个位置,使
得从被花盆接着的第 1 滴水开始,到被花盆接着的最后 1 滴水结束,之间的时间差
至少为 D。
我们认为,只要水滴落到 x 轴上,与花盆的边沿对齐,就认为被接住。给出 N 滴
水的坐标和 D 的大小,请算出最小的花盆的宽度 W。

Input Format

第一行 2个整数 N和 D。
接下来 N 行每行 2 个整数,表示水滴的坐标 (x,y)。
【数据范围】
40%的数据:1<=N<=1e3 ,1<=D<=2e3 。
100%的数据:1<=N<=1e5 ,1<=D<=1e6 ,0<=x,y<=1e6 。

Output Format

仅一行 1 个整数,表示最小的花盆的宽度。如果无法构造出足够宽的花盆,使得在
D 单位的时间接住满足要求的水滴,则输出 -1。


样例说明/提示
有 4滴水,(6,3) ,(2,4) ,(4,10) ,(12,15) 。水滴必须用至少 5 秒时间落入
花盆。花盆的宽度为 2 是必须且足够的。把花盆放在 X=4...6 的位置,它可以
接到 1 和 3 水滴, 之间的时间差为 10-3=7 满足条件。
4 5
6 3
2 4
4 10
12 15
2

Source

单调队列