#arc0323. [arc032_3]仕事計画
[arc032_3]仕事計画
问题
大工Cho先生(Daiku Cho)被委托完成了N个任务。第i个任务从时间开始,结束。
由于Cho先生无法同时处理多个任务,他希望尽量选择更多的任务,使得它们的执行时间不重叠。然而,在选择最多任务的方法时,他希望选择的任务编号按照开始时间的顺序排列,以得到字典顺序最小的结果。
Cho先生擅长工作,但不擅长管理日程安排。请找出Cho先生接受的最佳任务组合。
给定长度为L的序列和,按照字典顺序,如果满足以下条件,则A小于B:
- 对于存在k(1≦k≦L),满足时=以及时<。
输入
输入以以下格式从标准输入中给出。
:
- 第1行包含一个整数N,表示Cho先生委托的任务数量 。
- 第2行到第N行,给出Cho先生被委托的任务信息。其中第i行给出第i个任务的开始时间和结束时间,用两个整数表示,两个整数之间用空格分隔。
输出
- 第1行输出Cho先生接受的任务数量。
- 第2行按开始时间的顺序输出Cho先生接受的任务,任务之间用一个空格分隔。
请注意不要忘记最后的换行符。同时,不要在末尾添加额外的空格。
输入示例1
4
0 5
0 3
3 7
5 10
输出示例1
2
1 4
Cho先生最多可以选择两个任务。有三种选择方式:Cho先生可以选择任务1和任务4,也可以选择任务2和任务3,或者选择任务2和任务4。其中,在按照开始时间的顺序排列这些任务编号时,选择任务1和任务4会得到这个结果,这是字典顺序最小的情况。(已修正)
输入示例2
5
0 5
0 3
3 7
5 10
7 12
输出示例2
3
2 3 5
输入示例3
8
1 5
3 9
2 5
1 2
8 10
9 11
7 15
10 14
输出示例3
4
4 3 5 8