题目描述
对于实数 L 和 R,我们用 [L,R) 表示大于等于 L 且小于 R 的实数集合。这样的集合被称为右半开区间。
给定 N 个右半开区间 [Li,Ri)。设 S 为它们的并集。将 S 表示为最少数量的右半开区间的并集。
输入格式
输入从标准输入中给出,格式如下:
N
L1 R1
⋮
LN RN
输出格式
设 k 为表示 S 所需的最少右半开区间数。
按 Xi 升序输出这 k个右半开区间 [Xi,Yi) ,格式如下:
X1 Y1
⋮
Xk Yk
样例 #1
样例输入 #1
3
10 20
20 30
40 50
样例输出 #1
10 30
40 50
样例 #2
样例输入 #2
3
10 40
30 60
20 50
样例输出 #2
10 60
提示
样例说明 1
三个右半开区间 [10,20),[20,30),[40,50) 的并集等于两个右半开区间 [10,30),[40,50) 的并集。
样例说明 2
三个右半开区间 [10,40),[30,60),[20,50) 的并集等于一个右半开区间 [10,60) 的并集。
数据范围
- 1 ≤ N ≤ 2× 105
- 1 ≤ Li < Ri ≤ 2× 105
- 输入中的所有值都是整数。