提交时间:2024-03-30 16:26:01

运行 ID: 140611

#include<bits/stdc++.h> using namespace std; int n,a[100001],b[100001],dp[100001]; int main(){ memset(dp,0,sizeof(dp)); cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]>>b[i]; } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(a[j]>a[i]&&a[j]<b[i]||a[j]<a[i]&&b[j]>b[i]){ dp[i]=max(dp[i],dp[j]+1); } } } int maxn=0; for(int i=1;i<=n;i++){ maxn=max(maxn,dp[i]); } cout<<maxn; return 0; }