#B0042. Aki的行程合并

Aki的行程合并

题目描述

Aki 记录了训练营的若干个活动时间段。每个时间段用两个整数 l,rl, r 表示(包含端点),含义是从第 ll 天到第 rr 天都有活动。

为了做一个更清晰的日程表,Aki 想把有交集首尾相接的时间段合并:

  • 若两个时间段 [l1,r1][l_1,r_1][l2,r2][l_2,r_2] 满足 l2r1+1l_2 \le r_1+1(在按起点排序后),则它们可以合并为 [l1,max(r1,r2)][l_1, \max(r_1,r_2)]

请输出合并后的所有时间段(按起点从小到大)。

输入格式

第一行一个整数 mm,表示时间段数量。

接下来 mm 行,每行两个整数 l,rl, r

输出格式

第一行输出合并后时间段的个数 tt

接下来 tt 行,每行输出一个合并后的时间段 L R(按 LL 从小到大)。

5
1 3
8 10
2 6
7 7
15 18
2
1 10
15 18

Hint

  • 1m1051 \le m \le 10^5
  • 1l,r1091 \le l, r \le 10^9