对于实数 L,R,由所有满足 L \leq x < R 的实数组成的集合记作 [L,R)。这种形式表示的集合称为右半开区间。
给定 N 个右半开区间 [L_i, R_i)。它们的并集记作 S。请用最少数量的右半开区间的并集来表示 S。
第一行要给数字 N ;‘
接下来每行两个数字 [L_i, R_i);
假设 S 可以用最少 k 个右半开区间的并集表示。请按 X_i 升序输出这 k 个右半开区间 [X_i, Y_i),每行一个区间:
> X_1 Y_1
> \vdots
> X_k Y_k
3 10 20 20 30 40 50
10 30 40 50
3 10 40 30 60 20 50
10 60
其中30%的数据:- 1 \leq N \leq 1000, 1 \leq L_i < R_i \leq 2 \times 10^5;
另外有30%的数据:- 1 \leq N \leq 10^5, 1 \leq L_i < R_i \leq 2000;
最后的40%的数据:- 1 \leq N \leq 2 \times 10^5, 1 \leq L_i < R_i \leq 2 \times 10^9;
样例解释 1
3 个右半开区间 [10,20),[20,30),[40,50) 的并集等价于 2 个右半开区间 [10,30),[40,50) 的并集。
样例解释 2
3 个右半开区间 [10,40),[30,60),[20,50) 的并集等价于 1 个右半开区间 [10,60)。
| 时间限制 | 1 秒 |
| 内存限制 | 128 MB |