원빈이의 인생 스케줄링

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

요약
매일 아침 지식 또는 건강을 하나 올리고, T일 저녁 작업은 지식이 L 이상이면 그때의 건강만큼 점수를 더하며 미달이면 -1로 고정된다. 마지막 작업 정산 직후 점수의 최댓값을 구한다.
난이도

어려움10점 중 8점

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

문제

원빈이는 자신의 완벽한 인생을 살기 위해 지식(KK)과 건강(HH)이라는 두 가지 수치를 관리한다. 11일차 아침에 두 수치는 모두 00이며, 원빈이는 11일차부터 매일 아침 두 가지 수치 중 하나를 선택해 그 값을 11 증가시킬 수 있다.

원빈이의 인생에는 NN개의 작업이 주어지고, 원빈이는 NN개의 작업을 모두 문제 없이 수행하여 행복 수치 SS를 최대화하고 싶어 한다. ii번째 작업은 T_iT\_i일 저녁에 수행되는데, 그 시점에 원빈이의 지식 수치 KK가 해당 작업의 요구치 L_iL\_i보다 크거나 같다면 원빈이의 행복 수치 SS에 현재 건강 수치 HH만큼이 더해진다. 만약 KK가 L_iL\_i보다 작다면 원빈이의 완벽한 인생은 무너져 행복 수치는 영원히 −1-1로 고정된다.

11일차 아침에 행복 수치 SS는 00이다. 원빈이가 최적으로 행동했을 때, 마지막 작업이 정산된 직후 행복 수치 SS의 최댓값을 구해주자.

입력

첫째 줄에 작업의 개수를 나타내는 정수 NN이 주어진다. (1≤N≤200,000)(1 \le N \le 200\\,000)

둘째 줄부터 N+1N+1번째 줄까지 각 줄마다 두 정수가 주어진다. 두 정수는 각 작업의 마감일 T_iT\_i와 지식 요구랑 L_iL\_i를 뜻한다. (1≤T_i≤200,000;0≤L_i≤200,000)(1 \le T\_i \le 200\\,000; 0 \le L\_i \le 200\\,000)

출력

마지막 작업이 정산된 직후 행복 수치 SS의 최댓값을 출력한다. 만약 모든 요구 조건을 만족하는 것이 불가능하다면 -1을 출력한다.

예제3

  1. 예제 1

    입력
    3
    3 2
    7 3
    5 4
    
    예상 출력
    5
    
  2. 예제 2

    입력
    2
    5 3
    5 4
    
    예상 출력
    2
    
  3. 예제 3

    입력
    2
    5 6
    5 6
    
    예상 출력
    -1