#7467. 区间覆盖

区间覆盖

题目描述

给定数轴上的 NN 条闭线段,第 ii 条线段覆盖区间 [li,ri][l_i, r_i]。请你从中选出尽可能少的线段,使得它们的并集能够完全覆盖指定的目标闭区间 [0,L][0, L]
如果无法完全覆盖,请输出 1-1

输入格式

第一行包含两个整数 NNLL,分别表示线段的数量和目标区间的右端点。
接下来 NN 行,每行两个整数 li,ril_i, r_i,表示第 ii 条线段覆盖的区间。

输出格式

输出一个整数,表示最少需要的线段数量。如果无法完全覆盖 [0,L][0, L],则输出 1-1

样例

3 10
0 6
4 10
7 9
2

样例解释
选取 [0,6][0,6][4,10][4,10] 即可覆盖 [0,10][0,10],需要 22 条线段。

2 10
0 4
6 10
-1

样例解释
两条线段只能覆盖 [0,4][6,10][0,4] \cup [6,10],中间 (4,6)(4,6) 无法被覆盖。

数据范围

  • 1N1051 \le N \le 10^5
  • 0L1090 \le L \le 10^9
  • 0li,ri1090 \le l_i, r_i \le 10^9
  • 保证 liril_i \le r_i