컨벤션 센터

면접 대비

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

요약
겹치지 않는 날짜 구간을 최대한 많이 고르되, 가능한 집합 중 단체 번호 목록이 사전순으로 가장 앞서는 집합을 찾는다.
난이도

보통10점 중 6점

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

문제

시루세리 정부가 새로운 컨벤션 센터를 건설하였다. 여러 단체가 회의를 열기 위해 이곳을 사용하고 싶어 한다. 한 단체가 컨벤션 센터를 사용하는 동안에는 다른 어떤 단체도 그 기간에 컨벤션 센터를 사용할 수 없다. 센터의 책임자는 가능한 한 많은 단체가 센터를 이용할 수 있도록 단체들을 선정하려고 한다. 물론 이러한 선정 방법은 여러 가지가 있을 수 있다.

예를 들어 네 단체가 각각 [4,9][4, 9], [9,11][9, 11], [13,19][13, 19], [10,17][10, 17] 기간 동안 센터를 사용하고 싶어 하는 경우를 생각해 보자(아래의 예제이다). 이 경우 최대 두 단체가 센터를 이용할 수 있으며, 후보는 {1,3}\{1, 3\}, {2,3}\{2, 3\}, {1,4}\{1, 4\}이다. 한 단체의 끝나는 날짜와 다른 단체의 시작하는 날짜가 겹치면 두 단체는 함께 선정될 수 없음에 유의하라. 단체 1과 단체 2는 날짜 99를 함께 사용하므로 동시에 선정될 수 없다.

이처럼 최댓값을 이루는 선정 방법이 여러 가지일 때, 책임자는 다음 규칙으로 단체를 선정한다. 각 단체는 신청한 순서대로 번호가 매겨지고, 각 후보 집합은 단체 번호를 오름차순으로 나열하여 나타낸다. 이러한 후보 집합들 중 사전편집순으로 가장 앞서는 집합이 선정된다. 위 예에서 세 후보 집합 {1,3}\{1, 3\}, {2,3}\{2, 3\}, {1,4}\{1, 4\}의 순서는 (1,3)<(1,4)<(2,3)(1, 3) < (1, 4) < (2, 3)이므로, 가장 앞서는 {1,3}\{1, 3\}, 즉 단체 1과 단체 3이 선정된다.

여러분이 할 일은 책임자를 도와 어떤 단체가 컨벤션 센터를 사용할지 정하는 것이다.

입력

첫째 줄에 컨벤션 센터를 사용하고 싶어 하는 단체의 수 NN(N≤200000N \le 200000)이 정수로 주어진다.

이어지는 NN개의 줄에는 단체 번호 순서대로 각 줄에 두 정수가 주어지며, 이는 각 단체가 센터를 사용하고 싶어 하는 시작 날짜와 끝 날짜를 뜻한다. 모든 시작 날짜는 11 이상이고, 모든 끝 날짜는 10910^9을 넘지 않는다.

출력

첫째 줄에 컨벤션 센터를 사용할 수 있는 단체의 최대 수 MM을 출력한다. 둘째 줄에 사전편집순으로 가장 앞서는 선정 방법에 해당하는 MM개의 단체 번호를 오름차순으로 출력한다.

힌트

두 리스트 l1l_1과 l2l_2에 대하여, l1l_1이 l2l_2의 접두사이거나, 두 리스트가 처음으로 달라지는 위치 jj에서 l1[j]<l2[j]l_1[j] < l_2[j]이면 l1l_1이 l2l_2보다 사전편집순으로 작다고 한다.

예제1

  1. 예제 1

    입력
    4
    4 9
    9 11
    13 19
    10 17
    
    예상 출력
    2
    1 3