만드는 중입니다

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

파티용 피자

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

요약
전자레인지 하나로 피자 N개를 데울 때, 각 피자는 a_i초 동안 데워야 하고 b_i초 동안 따뜻하게 남습니다. 어떤 순간에 따뜻한 피자 수가 가장 많아지는 가열 순서를 구합니다.
난이도

보통10점 중 7점

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

문제

3월이 막 시작됐는데, NUOP(Неизвестный университет олимпиадного программирования, 알 수 없는 올림피아드 프로그래밍 대학교)의 1학년 학생 베냐민은 벌써 시험을 끝냈습니다. 파티를 열 충분한 이유입니다.

베냐민은 날짜와 시간을 정하고 친구들을 모두 초대했으며 피자를 아주 많이 주문했습니다. 그런데 피자가 예정보다 훨씬 일찍 도착했습니다. 친구들이 올 때쯤이면 피자가 식어 있을 것이므로, 다시 데우는 순서를 미리 정해야 합니다. NUOP에서는 스케줄링 이론을 3학년이 되어서야 배우기 때문에 베냐민은 여러분에게 도움을 요청합니다. 문제는 다음과 같습니다.

  • 베냐민에게 피자가 NN개 있습니다.
  • 목표는 전자레인지에 피자를 넣는 순서를 정해서, 어떤 한 시점에 뜨거운 피자가 최대한 많아지게 하는 것입니다.
  • ii번째 피자는 두 값 aia_i와 bib_i로 주어집니다.
    • aia_i는 ii번째 피자를 전자레인지에서 데우는 데 필요한 시간(초)입니다.
    • bib_i는 ii번째 피자가 뜨거운 상태로 남아 있는 시간(초)입니다.
  • 피자가 뜨거워지려면 전자레인지에 정확히 aia_i초 동안 끊기지 않고 들어 있어야 합니다.
  • 전자레인지는 하나뿐이며, 어느 순간에도 최대 한 개의 피자만 들어갈 수 있습니다.
  • 전자레인지 켜기와 끄기, 피자 꺼내기와 넣기는 모두 순간적으로 이루어집니다.
  • 피자를 먹는 것도 순간적으로 일어납니다. 목표는 어느 한 순간에 뜨거운 피자를 최대로 만드는 것이며, 그 순간이 0이 아닌 길이의 시간 동안 이어질 필요는 없습니다.

입력

첫 줄에 피자의 개수를 나타내는 정수 NN이 주어집니다(1≤N≤3000001 \le N \le 300000). 다음 NN줄에는 각각 정수 aia_i와 bib_i가 주어집니다(1≤ai,bi≤1091 \le a_i, b_i \le 10^9).

출력

동시에 뜨거운 상태가 될 수 있는 피자의 최대 개수를 한 줄에 출력합니다.

힌트

첫 번째 테스트를 자세히 살펴봅시다.

  • 0초에 베냐민은 첫 번째 피자를 전자레인지에 넣습니다.
  • 1초에 베냐민은 첫 번째 피자를 꺼내고 두 번째 피자를 넣습니다.
  • 2초에 베냐민은 두 번째 피자를 꺼냅니다. 이 순간 첫 번째 피자는 아직 뜨겁습니다. 따라서 답은 2입니다. 두 피자가 동시에 뜨거운 순간은 이 시점뿐이며, 이 예제에서는 둘 다 0이 아닌 길이의 시간 동안 뜨겁게 유지하는 것이 불가능합니다.

예제2

  1. 예제 1

    입력
    2
    1 1
    1 1
    
    예상 출력
    2
    
  2. 예제 2

    입력
    4
    2 12
    10 8
    7 5
    5 1
    
    예상 출력
    3