提交时间:2024-04-03 13:12:31
运行 ID: 141268
#include<bits/stdc++.h> using namespace std; const int N=100009; int f[N],maxn; struct Node{ int a,b; }node[N]; bool cmp(Node a,Node b){ return a.a <b.a; } int main(){ int n,m,p; cin>>n>>m>>p; for(int i=1;i<=p;i++){ cin>>node[i].a >>node[i].b ; f[i]=1; } sort(node+1,node+p+1,cmp); for(int i=p-1;i>=1;i--){ for(int j=i+1;j<=p;j++){ if(node[i].b >node[j].b )f[i]=max(f[j]+1,f[i]); maxn=max(maxn,f[i]); } } cout<<maxn; }