#1220. 区间覆盖

区间覆盖

区间覆盖

题目描述

数轴上有 nn 个闭区间 [li,ri][l_i, r_i]。现在要从这些区间中选出若干个,使得对于 11 到 NN 之间的每一个整数点 jj,都至少存在一个被选中的区间满足 li≤j≤ril_i \le j \le r_i。选出的区间之间可以重叠,每个区间最多只能被选一次。

请输出最少需要选多少个区间;如果无论如何都覆盖不了 11 到 NN 的全部整数点,输出 −1-1。

输入格式

第一行两个整数 nn 与 NN。

接下来 nn 行,每行两个整数 lil_i 与 rir_i,保证 li≤ril_i \le r_i。

输出格式

一行一个整数,表示最少需要选择的区间个数;无解输出 −1-1。

样例

输入样例

3 10
1 4
4 7
7 10

输出样例

3

样例解释

三个区间首尾相接,恰好覆盖 11 到 1010,最少需要全部选中。

数据范围

1≤n≤2×1051 \le n \le 2 \times 10^5,1≤N≤1091 \le N \le 10^9,1≤li≤ri≤1091 \le l_i \le r_i \le 10^9。