代码:
#include <bits/stdc++.h>
using namespace std;
struct cows{
int a;
int b;
}w[1000001];
bool cmp(cows a, cows b){
return a.a < b.a;
}
int main(){
int n, m;
cin >> n >> m;
long long s = n;
for(int i = 0; i < n; i++){
cin >> w[i].a >> w[i].b;
}
sort(w, w + n, cmp);
if(w[0].a > n || w[n - 1].b < m){
cout << -1;
return 0;
}
for(int i = 0; i < n && w[i].b < m; i++){
int j;
for(j = i + 1; w[j].a <= w[i].b + 1 && j < n; j++){
if(j == n - 1)
break;
if(w[j].a == w[i].b + 1)
break;
s--;
}
if(j == i){
cout << -1;
return 0;
}
i = j;
}
cout << s;
return 0;
}