농부 존은 식물을 잘 기르지 못해 어려움을 겪고 있으며, 물을 제대로 주기 위해 당신의 도움이 필요하다. 2차원 평면 위에 있는 $N$개 빗방울($1 \le N \le 100{,}000$)의 위치가 주어진다. 여기서 $y$는 빗방울의 수직 높이를, $x$는 1차원 수직선 위에서의 위치를 나타낸다.
각 빗방울은 매초 $1$단위의 속도로 아래(x축 방향)로 떨어진다. 농부 존의 폭 $W$짜리 화분을 x축 위 어딘가에 놓아, 화분에 처음으로 떨어지는 빗방울과 마지막으로 떨어지는 빗방울 사이의 시간 차이가 적어도 $D$ 이상이 되도록 하고 싶다(그래야 화분 속 꽃이 충분한 물을 받는다). 화분의 가장자리에 정확히 떨어지는 빗방울도 화분에 떨어진 것으로 센다.
$D$ 값과 $N$개 빗방울의 위치가 주어졌을 때, 가능한 화분 폭 $W$의 최솟값을 구하여라.
빗방울이 x축에 닿기까지 걸리는 시간은 그 높이 $y$와 같다. 따라서 화분이 잡는 빗방울들 중 가장 큰 $y$와 가장 작은 $y$의 차이가 $D$ 이상이 되어야 한다. 예를 들어 빗방울이 $(6,3)$, $(2,4)$, $(4,10)$, $(12,15)$에 있고 비가 적어도 $5$ 시간 동안 화분에 떨어져야 한다면, 폭 $2$의 화분이면 충분하다. 화분을 $x=4$부터 $x=6$까지 놓으면 빗방울 1번과 3번을 잡아 총 $10-3=7$ 시간 동안 비를 받기 때문이다.