#include<bits/stdc++.h>
using namespace std;
struct A{int l,r;} a[200010];
int s[200010];
bool cmp(A B,A C)
{
return B.l <C.l ;
}
int main()
{
int n,len=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)scanf("%d %d",&a[i].l ,&a[i].r );
sort(a,a+n+1,cmp);
s[++len]=a[1].r ;
for(int i=2;i<=n;i++)
{
if(a[i].r >s[len])s[++len]=a[i].r ;
else{
int p=lower_bound(s+1,s+len+1,a[i].r )-s;
s[p]=a[i].r ;
}
}
printf("%d",len);
return 0;
}
luogu2782:友好城市
最新推荐文章于 2022-03-15 22:34:00 发布