为啥只通过70%啊
#include<bits/stdc++.h>
using namespace std;
int n,m;
const int N=1e5+10;
struct pp{
int l,r;
}p[N];
int cmp(pp a,pp b){
return a.l<b.l;
}
int main (){
cin>>m>>n;
for(int i=0;i<n;i++){
cin>>p[i].l>>p[i].r;
}
sort(p,p+n,cmp);
int s=1;
int f=p[0].r;
int k=p[0].l;
int h=p[0].r;
while(f!=m){
int t=0;
for(int i=0;i<n;i++){
if(p[i].l<=h+1&&p[i].r>f){
if(t==0){
s++;
t=1;
}
f=p[i].r;
}
}
if(t==0){
f=m;k=2;
}
h=f;
}
if(k==1&&f==m){
cout<<s;
}
else cout<<"-1";
}