提交时间:2024-04-03 13:51:45

运行 ID: 141321

#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,n; cin>>x>>y>>n; for(int i=1;i<=n;i++){ f[i]=1; cin>>node[i].a >>node[i].b ; } sort(node+1,node+1+y,cmp); //for(int i=1;i<=n;i++)cout<<node[i].a <<' '<<node[i].b <<endl; for(int i=n-1;i>=1;i--){ for(int j=i+1;j<=n;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; }