为啥只通过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";

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务