#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`