카라반 강도단

시간 제한1초메모리 제한128 MB

요약
서로 포함하지 않는 구간들이 주어질 때 각 구간 안에 같은 길이의 서로 겹치지 않는 부분 구간을 배치하고, 그 최대 길이를 기약분수로 구한다.
난이도

어려움10점 중 8점

유형
이분 탐색, 그리디, 정렬, 수학
정답자
아직 제출이 없습니다

문제

먼 옛날 아주 먼 나라에 두 거대 도시가 있었고, 그 사이를 대상로(Great Caravan Road)가 이었다. 이 길에서는 여러 강도단이 '활동'했다.

오래된 관습에 따라, ii번째 강도단은 대상로의 aia_i 마일 지점부터 bib_i 마일 지점 사이를 지나는 모든 상인을 털었다. 이 관습은 오래되었지만 영리했다. 서로 다른 두 강도단 ii, jj 중에서 ai≤aja_i \le a_j이면서 bj≤bib_j \le b_i인 경우, 즉 한 구간이 다른 구간을 포함하는 경우가 결코 없었기 때문이다. 그래도 두 강도단의 구간이 겹치면 이따금 피비린내 나는 다툼이 벌어졌다.

싸움을 끝내기 위해 강도단 두목들은 각 강도단에게 새 구간을 다시 배정하기로 했다. 새 구간은 다음을 모두 만족해야 한다.

  • 모든 새 구간은 서로 겹치지 않는다(유혈을 피하기 위해).
  • 각 강도단의 새 구간은 원래 구간의 부분구간이다(오래된 관습을 지키기 위해).
  • 모든 새 구간의 길이는 같다(공평을 위해).

이렇게 다시 배정했을 때 각 강도단이 가질 수 있는 구간 길이의 최댓값을 구하라.

입력

첫 줄에 강도단의 수 nn (1≤n≤1000001 \le n \le 100000)이 주어진다.

이어지는 nn개의 줄에는 각각 두 정수 aia_i, bib_i (0≤ai<bi≤10000000 \le a_i < b_i \le 1000000)가 주어지며, 한 강도단의 구간을 나타낸다. 입력은 위에서 설명한 조건을 만족한다. 즉, 어떤 구간도 다른 구간을 포함하지 않는다.

출력

다시 배정한 뒤 가질 수 있는 공통 구간 길이의 최댓값을 마일 단위로, 기약분수 p/qp/q 꼴로 출력한다.

힌트

강도단 (2,6)(2, 6), (1,4)(1, 4), (8,12)(8, 12)로 이루어진 예제에서, 모든 강도단에게 길이 5/25/2의 구간을 주는 한 가지 최적 재배정은 다음과 같다.

  • 첫째 강도단은 [7/2,6]=[3.5,6][7/2, 6] = [3.5, 6]을 가지며, 이는 원래 구간 (2,6)(2, 6)의 부분구간이다.
  • 둘째 강도단은 [1,7/2]=[1,3.5][1, 7/2] = [1, 3.5]을 가지며, 이는 원래 구간 (1,4)(1, 4)의 부분구간이다.
  • 셋째 강도단은 [8,21/2]=[8,10.5][8, 21/2] = [8, 10.5]를 가지며, 이는 원래 구간 (8,12)(8, 12)의 부분구간이다.

예제1

  1. 예제 1

    입력
    3
    2 6
    1 4
    8 12
    
    예상 출력
    5/2