#1227. 合并区间

    ID: 1227 传统题 1000ms 256MiB 尝试: 3 已通过: 2 难度: 普及− 上传者: 标签>基础算法前缀和差分离散化

合并区间

题目描述

给定数轴上的 nn左闭右开区间,第 ii 个区间可以表示为 [ai,bi)[a_i, b_i)

请你求出这 nn 个区间并集的总长度。

输入格式

第一行包含一个整数 nn —— 表示区间的个数。

接下来 nn 行,每行包含两个整数 ai,bia_i, b_i —— 分别表示第 ii 个区间的起点和终点。

输出格式

输出一行,一个整数,表示所有区间并集的总长度。

样例输入 1

3
-1 1
5 11
2 9

样例输出 1

11

说明

样例解释

给定的三个区间分别为 [1,1)[-1, 1)[5,11)[5, 11)[2,9)[2, 9)。 将有交集的区间合并后,得到两个不相交的区间:[1,1)[-1, 1)[2,11)[2, 11)。 它们的长度分别为 1(1)=21 - (-1) = 2112=911 - 2 = 9。 因此并集的总长度为 2+9=112 + 9 = 11

数据范围

  • 对于所有测试点,保证 1n2×1041 \le n \le 2 \times 10^4
  • 对于所有测试点,保证 231ai<bi<231-2^{31} \le a_i < b_i < 2^{31}
  • 保证最终的答案小于 2312^{31}
  • 保证所有的输入数值均为整数。