페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#4055

라이프가드 2s 512MB

문제

정올이는 손님들이 더 편안하게 쉴 수 있도록 하기 위해 호텔 수영장을 개장했다.

안전을 위해 그는 N명의 구조대원을 고용했으며, 각 구조대원은 하루 동안 연속된 시간 구간 동안 근무한다.
수영장은 매일 시간 t = 0부터 t = 1,000까지 운영되며, 따라서 각 구조대원의 근무 시간은 시작 시각과 종료 시각 두 정수로 표현할 수 있다.

예를 들어, 어떤 구조대원이 t = 4에 근무를 시작해서 t = 7에 끝난다면, 그 구조대원은 3 단위의 시간을 담당하게 된다. 끝점은 “순간적인 시각”으로 생각하므로, 단순히 7 - 4 = 3만큼의 시간이 된다.

하지만 불행히도, 정올이는 예산보다 1명 더 많은 구조대원을 고용했다. 그는 정확히 1명의 구조대원을 해고해야 한다. 그럴 때, 남은 구조대원들의 근무 시간으로 최대 몇 단위의 시간이 여전히 커버될 수 있는지 구하시오. 즉, 하나 이상의 구조대원이 근무 중인 시간 구간 전체의 길이를 구하면 된다.


입력

첫 줄에 정수 N이 주어진다.

다음 N개의 줄에는 두 개의 정수, 시작 시각종료 시각이 주어진다.

[제약 조건]

  • 1 \leq N \leq 100

  • 각 은 0 \le \text{시작 시각, 종료 시각} \le 1000

  • 모든 종료 시각과 시작 시각은 서로 다르다.

  • 다른 구조원들의 근무 구간은 서로 겹칠 수도 있다.


출력

한 명의 구조원을 해고한 뒤에도 커버할 수 있는 최대 시간 길이를 출력하시오.


예제

3
5 9
1 4
3 7
7

출처

USACO 2018 January Bronze

로그인해야 코드를 작성할 수 있어요.