提交时间:2024-04-03 13:19:04

运行 ID: 141285

#include<bits/stdc++.h> using namespace std; const long long N=100009; long long f[N],maxn; struct Node{ long long a,b; }node[N]; bool cmp(Node a,Node b){ return a.a <b.a; } int main(){ long long n,m,p; cin>>n>>m>>p; for(long long i=1;i<=p;i++){ cin>>node[i].a >>node[i].b ; f[i]=1; } sort(node+1,node+p+1,cmp); for(long long i=p-1;i>=1;i--){ for(long long 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; }