提交时间:2023-04-14 19:45:47
运行 ID: 74743
#include<bits/stdc++.h> using namespace std; int m,n; struct c{ int a; int b; }a[20100]; bool cmp(c a,c b){ return a.a<b.a; } int dp[114514]; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].a>>a[i].b; dp[i]=1; } sort(a+1,a+1+n,cmp); for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ if(a[i].a>a[j].a&&a[i].b>a[j].b){ dp[i]=max(dp[j]+1,dp[i]); } } } int ans=-1; for(int i=1;i<=n;i++)ans=max(ans,dp[i]); cout<<ans; return 0; }