提交时间:2024-04-03 13:44:54

运行 ID: 141315

#include<bits/stdc++.h> using namespace std; const int N=100010; struct Node { int a,b; }node[N]; int f[N],maxn; bool cmp(Node a,Node b){ return a.a <b.a ; } int main(){ int x,y; cin>>x>>y; for(int i=1;i<=y;i++){ f[i]=1; cin>>node[i].a >>node[i].b ; } sort(node+1,node+1+y); for(int i=y-1;i>=1;i--){ for(int j=i+1;j<=y;j++){ if(node[i].b <=node[j].b &&f[i]<f[j]+1)f[i]=f[j]+1; maxn=max(maxn,f[i]); } } cout<<maxn; }