우유 짜기 대기열

시간 제한2초메모리 제한512 MB

요약
두 단계 기계가 같은 순서로 N마리의 소를 처리하며, 각 소의 단계별 소요 시간이 주어질 때 전체 완료 시간을 최소로 만드는 순서를 정한다.
난이도

보통10점 중 7점

유형
그리디, 정렬
정답자
아직 제출이 없습니다

문제

매일 아침 농부 John의 소 NN마리가 우유를 짜려고 한 줄로 선다. John은 우유 짜기를 두 단계로 나누었다. 소는 줄을 선 순서 그대로 첫 번째 헛간을 지난 다음 두 번째 헛간으로 들어간다. 첫 번째 헛간에서는 John이 소를 한 마리씩 차례로 짜고, 첫 번째 헛간을 나온 소는 같은 순서로 두 번째 헛간에 들어가 동료 Rob이 짠다.

두 헛간이 하나의 순서를 그대로 따라야 하니 낭비가 생긴다. John이 어떤 소를 짜는 데 오래 걸리면 Rob은 할 일 없이 기다린다. 반대로 John이 너무 빨리 짜면 두 번째 헛간 앞에 긴 대기열이 쌓인다.

소 ii는 첫 번째 헛간에서 AiA_i, 두 번째 헛간에서 BiB_i만큼 시간이 걸린다. 마지막 소의 우유 짜기가 가장 이르게 끝나도록 소의 순서를 정하고, 그때의 완료 시각을 구하라.

규칙은 다음과 같다.

  • 시각 00에 첫 번째 헛간이 일을 시작한다.
  • 각 헛간은 한 번에 소 한 마리만 처리하고, 한번 시작한 소는 중간에 멈추지 않는다.
  • 소는 첫 번째 헛간에서 짜기가 끝나야 두 번째 헛간에 들어갈 수 있다.
  • 두 헛간은 같은 순서를 쓰고, 대기열에서 기다리는 소의 수에는 제한이 없다.

입력

첫째 줄에 소의 수 NN이 주어진다. (1≤N≤250001 \le N \le 25000)

다음 NN개 줄 가운데 ii번째 줄에는 소 ii의 AiA_i와 BiB_i가 공백 하나로 구분되어 주어진다. (1≤Ai,Bi≤200001 \le A_i, B_i \le 20000)

출력

소의 순서를 최적으로 정했을 때 모든 소의 우유 짜기가 끝나는 가장 이른 시각을 한 줄에 출력한다.

예제2

  1. 예제 1

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

    입력
    1
    5 7
    
    예상 출력
    12