만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

방벽에 벽화 그리기

면접 대비

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

요약
서로 겹치지 않도록 신청 구간을 골라 칠해지는 벽의 전체 길이를 최대로 만드는 문제입니다.
난이도

보통10점 중 4점

유형
동적 계획법, 정렬, 이분 탐색
정답자
아직 제출이 없습니다

문제

남리버사이드 마을에는 근처 Little Muddy 강이 불어날 때 주민을 지켜 주는 긴 방벽이 있다. 제 기능은 하지만 보기에는 조금 흉하다.

마을은 지역 예술가들이 벽의 일부에 벽화를 그리는 공모전을 열어 이 벽을 꾸미기로 했다. 예술가는 그리고 싶은 벽의 길이와, 주변 풍경을 고려해 벽의 어느 위치에 그리고 싶은지를 지원서에 적는다.

예술가들의 작품은 서로 겹칠 수 없으므로 모든 지원서를 받아들일 수는 없다. 마을은 벽을 가능한 한 많이 칠하기를 원한다.

벽화끼리 겹치지 않으면서 칠해지는 벽의 총 길이가 최대가 되도록 받아들일 지원서의 조합을 찾아라. 한 벽화가 다른 벽화가 끝나는 좌표에서 시작하는 것은 겹치는 것으로 보지 않는다.

입력

첫 줄에 지원서를 낸 예술가의 수 NN이 주어진다. 1≤N≤200 0001 \leq N \leq 200\,000

이어지는 NN개의 줄에는 제안된 벽화의 시작 위치와 끝 위치를 나타내는 정수 x0x_0와 x1x_1이 한 줄에 하나씩 주어진다(양 끝 포함). 0≤x0≤x1≤10180 \leq x_0 \leq x_1 \leq 10^{18}

출력

벽화끼리 겹치지 않게 칠할 수 있는 벽의 최대 총 길이를 한 줄에 출력한다.

힌트

두 번째 예제는 구간 0…50 \ldots 5, 7…97 \ldots 9, 12…1812 \ldots 18의 지원서를 받아들이는 선택을 보여 준다.

예제2

  1. 예제 1

    입력
    3
    100 200
    190 210
    200 300
    
    예상 출력
    200
    
  2. 예제 2

    입력
    5
    0 5
    12 18
    4 14
    7 9
    17 18
    
    예상 출력
    13