화분
시간 제한1초메모리 제한128 MB
높이 차이가 D 이상인 빗방울을 포함하는 x축 위 최소 너비 구간을 구한다.
문제
농부 존은 식물을 잘 기르지 못해 어려움을 겪고 있으며, 물을 제대로 주기 위해 당신의 도움이 필요하다. 2차원 평면 위에 있는 개 빗방울()의 위치가 주어진다. 여기서 는 빗방울의 수직 높이를, 는 1차원 수직선 위에서의 위치를 나타낸다.
각 빗방울은 매초 단위의 속도로 아래(x축 방향)로 떨어진다. 농부 존의 폭 짜리 화분을 x축 위 어딘가에 놓아, 화분에 처음으로 떨어지는 빗방울과 마지막으로 떨어지는 빗방울 사이의 시간 차이가 적어도 이상이 되도록 하고 싶다(그래야 화분 속 꽃이 충분한 물을 받는다). 화분의 가장자리에 정확히 떨어지는 빗방울도 화분에 떨어진 것으로 센다.
값과 개 빗방울의 위치가 주어졌을 때, 가능한 화분 폭 의 최솟값을 구하여라.
입력
- 첫째 줄: 공백으로 구분된 두 정수 과 가 주어진다 ().
- 둘째 줄부터 개의 줄: 번째 줄에는 빗방울 의 좌표 와 가 공백으로 구분되어 주어진다. 각 값은 이상 이하이다.
출력
- 화분 폭의 최솟값을 정수 하나로 출력한다. 적어도 시간 동안 비를 받을 만큼 넓은 화분을 만들 수 없다면 을 출력한다.
힌트
빗방울이 x축에 닿기까지 걸리는 시간은 그 높이 와 같다. 따라서 화분이 잡는 빗방울들 중 가장 큰 와 가장 작은 의 차이가 이상이 되어야 한다. 예를 들어 빗방울이 , , , 에 있고 비가 적어도 시간 동안 화분에 떨어져야 한다면, 폭 의 화분이면 충분하다. 화분을 부터 까지 놓으면 빗방울 1번과 3번을 잡아 총 시간 동안 비를 받기 때문이다.