#619. 长廊监控的最少摄像头

长廊监控的最少摄像头

长廊监控的最少摄像头

故事背景

学校新建了一条很长的教学楼长廊,安全处打算在长廊上安装摄像头进行监控。施工队已经预先布好若干段电缆,每一段电缆能够支撑一台摄像头,并且可以覆盖长廊上的一个连续区间。

为了节省成本,安全处希望选用尽量少的电缆段就能把整个长廊从起点到终点完全覆盖。如果无论如何都无法全覆盖,则需要提前知道这一点,好重新设计线路。

题目描述

一条长廊可以看作数轴上的一段区间 [S,T][S, T](包含两端)。现在有 nn 段电缆,每段电缆可以覆盖长廊上的一个闭区间 [li,ri][l_i, r_i]

你可以选择其中若干段电缆使用。要求选出的电缆段的并集能够完全覆盖整段长廊 [S,T][S, T]。在能覆盖的前提下,使用的电缆段数量应尽可能少。

请计算最少需要使用的电缆段数量;如果无法覆盖整个长廊,则输出 1-1

输入格式

  • 第一行包含三个整数 n,S,Tn, S, T,分别表示电缆段数量以及长廊的起点和终点位置,保证 STS \le T
  • 接下来 nn 行,每行包含两个整数 li,ril_i, r_i,表示一段电缆的覆盖区间。

输出格式

  • 输出一行,一个整数,为最少需要的电缆段数量;如果无法覆盖整个长廊,则输出 1-1

输入输出样例 #1

输入 #1

5 0 10
-2 3
4 7
1 5
7 12
3 6

输出 #1

3

样例解释 #1

一种可行方案是选择区间 [2,3][-2,3][3,6][3,6][4,7][4,7][7,12][7,12] 中的三段,例如 [2,3][3,6][7,12][-2,3]、[3,6]、[7,12],刚好可以覆盖 [0,10][0,10],共使用 3 段电缆。

说明/提示

  • 对于所有测试数据,保证 1n2×1051 \le n \le 2 \times 10^5109ST109-10^9 \le S \le T \le 10^9
  • 所有电缆段的端点满足 109liri109-10^9 \le l_i \le r_i \le 10^9
  • 若长廊本身长度为 0(即 S=TS = T),仍视为需要覆盖该点。