#1030. 维修灯柱(light.cpp)

维修灯柱(light.cpp)

题目描述

某城市的街道上有一排灯柱,灯柱之间的间隔是 11 米。我们可以把这条街道看作一个数轴,街道的一端位于数轴的 00 点,另一端位于 ll 点;数轴上的每个整数点,即 0,1,2,,l0,1,2,…,l,上都竖立有一根灯柱。

现在,街道上的某些区域需要进行维修,这些区域用它们在数轴上的起始点和终止点来表示。已知每个区域的起始点和终止点都是整数,且这些区域之间可能会有重叠。你的任务是计算在维修这些区域时需要移除的灯柱数量,并找出维修完成后街道上剩下多少根灯柱。

输入格式

第一行有两个整数,分别表示街道的长度 ll 和维修区域的数目 mm

接下来 mm 行,每行两个整数 u,vu, v,表示一个区域的起始点和终止点的坐标。

输出格式

输出一行一个整数,表示将这些灯柱都移走后,街道上剩余的灯柱数量。

样例 #1

样例输入 #1

1000 5
0 100
101 200
900 1000
207 400
401 899

样例输出 #1

6

提示

【数据范围】

  • 对于 10%10\% 的数据,保证区域之间没有重合的部分。
  • 对于 100%100\% 的数据,保证 1l1041 \leq l \leq 10^41m1001 \leq m \leq 1000uvl0 \leq u \leq v \leq l