bzoj#P1178. [Apio2009] CONVENTION 会议中心

[Apio2009] CONVENTION 会议中心

题目描述

Siruseri 政府建造了一座新的会议中心。许多公司对租借会议中心的会堂很感兴趣,他们希望能够在里面举行会议。对于一个客户而言,仅当在开会时能够独自占用整个会堂,他才会租借会堂。会议中心的销售主管认为:最好的策略应该是将会堂租借给尽可能多的客户。显然,有可能存在不止一种满足要求的策略。

例如下面的例子。总共有 44 个公司。他们对租借会堂发出了请求,并提出了他们所需占用会堂的起止日期(如下表所示)。

开始日期 结束日期
公司 11 44 99
公司 22 99 1111
公司 33 1313 1919
公司 44 1010 1717

上例中,最多将会堂租借给两家公司。租借策略分别是租给公司 11 和公司 33,或是公司 22 和公司 33,也可以是公司 11 和公司 44

注意会议中心一天最多租借给一个公司,所以公司 11 和公司 22 不能同时租借会议中心,因为他们在第九天重合了。

销售主管为了公平起见,决定按照如下的程序来确定选择何种租借策略:首先,将租借给客户数量最多的策略作为候选,将所有的公司按照他们发出请求的顺序编号。对于候选策略,将策略中的每家公司的编号按升序排列。最后,选出其中字典序最小的候选策略作为最终的策略。

例中,会堂最终将被租借给公司 11 和公司 3333 个候选策略是 (1,3),(2,3),(1,4){(1, 3), (2, 3), (1, 4)}。而在字典序中 (1,3)<(1,4)<(2,3)(1, 3) < (1, 4) < (2, 3)。你的任务是帮助销售主管确定应该将会堂租借给哪些公司。

输入格式

输入的第一行有一个整数 nn,表示发出租借会堂申请的公司的个数。

22 到第 n+1n + 1 行每行有 22 个整数。第 i+1i + 1 行的整数表示第 ii 家公司申请租借的起始和终止日期。

输出格式

输出的第一行应有一个整数 mm,表示最多可以租借给多少家公司。

第二行应列出 mm 个数,表示最终将会堂租借给哪些公司。

样例

4 
4 9
9 11
13 19
10 17
2 
1 3

数据规模与约定

对于 100%100\% 的数据,n2×105n\le 2\times 10^5

对于每个公司的申请,起始日期为不小于 11 的整数,终止日期为不大于 10910^9 的整数。