#A5126. 区间覆盖

区间覆盖

题目背景

小杨手里有一摞纸条,想把数轴上从 L 到 R 的一整段完全盖住。他一共有 n 张纸条,第 i 张能盖住区间 [l_i, r_i]。

纸条之间可以重叠,也可以首尾相接。小杨想用尽量少的纸条把 [L, R] 这段完全盖住。

题目描述

给定目标区间 [L, R] 和 n 个可选区间 [l_i, r_i],选出最少的区间,使得这些区间的并集完全包含 [L, R]。输出最少需要的区间数;如果无论怎么选都无法盖满 [L, R],输出 `-1`。

输入格式

第一行三个整数 n, L, R。

接下来 n 行,每行两个整数 l, r,表示一个可选区间。

输出格式

一个整数,表示最少需要的区间数;若无法盖满,输出 `-1`。

输入输出样例

3 1 10
1 5
4 8
7 10
3

样例 1 解释

选 [1,5]、[4,8]、[7,10],并集正好是 [1,10],共 3 个;用 2 个纸条盖不住 [1,10],所以答案是 3。

说明/提示

1 ≤ n ≤ 10^5

1 ≤ L < R ≤ 10^9

1 ≤ l < r ≤ 10^9

区间可以超出目标范围 [L, R];无法完全覆盖时输出 `-1`