사회적 거리두기
시간 제한1초메모리 제한512 MB
직선 위에 서로 겹치지 않는 M개의 구간으로 주어진 잔디 위의 서로 다른 정수 점 N개에 소를 배치해 가장 가까운 두 소 사이 거리 D를 최대화하고, 그 최댓값을 출력한다.
문제
고도로 전염성이 강한 소 질병 COWVID-19가 발생한 뒤, Farmer John은 소들의 건강을 걱정하고 있다.
질병의 전파를 막기 위해 Farmer John의 소 마리()는 "사회적 거리두기"를 실천하며 농장 곳곳에 흩어지기로 했다. 농장은 1차원 수직선 모양이고, 풀이 자라는 서로 겹치지 않는 개의 구간()이 있다. 소들은 각자 풀로 덮인 서로 다른 정수 점에 자리를 잡아, 가장 가까운 두 소 사이의 거리인 를 최대화하려고 한다. 소들이 의 최댓값을 구하도록 도와주자.
입력
첫째 줄에 과 이 주어진다. 다음 개의 줄에는 각 구간을 나타내는 두 정수 와 가 주어진다(). 두 구간은 서로 겹치지 않으며 끝점에서도 닿지 않는다. 소가 구간의 끝점에 서 있는 것도 풀 위에 서 있는 것으로 본다.
출력
모든 소 쌍이 만큼 떨어져 있도록 하는 의 최댓값을 출력한다. 인 해가 존재함이 보장된다.
힌트
소들을 위치 , , , , 에 두면 를 달성할 수 있다.