提交时间:2024-04-03 13:29:17

运行 ID: 141304

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