만드는 중입니다

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

NOI 카니발

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

요약
각 행사를 A, B 장소 중 한 곳에 배정하거나 열지 않습니다. 시간이 겹치는 행사는 서로 다른 장소에 배정할 수 없습니다. 적은 쪽 장소의 행사 수를 최대로 하는 값과, 각 행사를 반드시 여는 조건에서의 값을 구합니다.
난이도

어려움10점 중 9점

유형
구간, 동적 계획법, 정렬, 그래프
정답자
아직 제출이 없습니다

문제

NOI 2011이 지린대학교에서 시작되었다. 전국의 뛰어난 정보올림피아드 참가자들을 맞이하기 위해 대학은 두 곳의 장소에서 카니발을 열기로 했다. 각 장소에는 여러 행사가 있고, 각 행사는 두 장소 중 한 곳에서만 열릴 수 있다.

카니발 기획자 앤디는 총 nn개의 행사 신청서를 받았다. ii번째 행사는 SiS_i에 시작해서 TiT_i 단위 시간 동안 진행된다. 각 행사는 한 장소에서 열리거나, 아예 열리지 않을 수 있다.

두 장소에서 동시에 행사가 진행되면(행사가 시작하거나 끝나는 순간은 제외) 참가자들은 어느 장소에 갈지 고민하게 된다. 이를 막기 위해 두 장소에서 동시에 진행되는 행사가 있으면 안 된다. 같은 장소에서는 행사를 여러 개 열어도 된다.

행사가 적은 장소는 방문객이 적다. 앤디는 행사 수가 가장 적은 장소의 행사 수가 최대가 되도록 일정을 짜고 싶어 한다.

일부 행사는 특히 흥미로워서 앤디는 반드시 열고 싶어 한다. 각 행사 ii에 대해, 그 행사를 두 장소 중 한 곳에서 반드시 연다는 조건에서 행사 수가 가장 적은 장소의 행사 수 최댓값을 구하라.

입력

첫째 줄에 행사의 수 nn이 주어진다. 이어지는 nn개의 줄에는 각각 두 정수 SiS_i와 TiT_i가 주어진다. 이는 ii번째 행사가 시각 SiS_i에 시작해서 TiT_i 단위 시간 동안 진행된다는 뜻이다.

출력

첫째 줄에는 추가 조건이 없을 때 행사 수가 가장 적은 장소의 행사 수 최댓값을 출력한다. 이어지는 nn개의 줄에는 각각 ii번째 행사를 반드시 열어야 한다는 조건에서, 행사 수가 가장 적은 장소의 행사 수 최댓값을 한 줄에 하나씩 출력한다.

제한

1≤n≤2001 \le n \le 200

0≤Si≤1090 \le S_i \le 10^9

1≤Ti≤1091 \le T_i \le 10^9

예제1

  1. 예제 1

    입력
    5
    8 2
    1 5
    5 3
    3 2
    5 3
    
    예상 출력
    2
    2
    1
    2
    2
    2