1 solutions
-
1
#include <bits/stdc++.h> using namespace std; int n; int dp[5010],ans; pair<int,int>p[5010]; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>p[i].first>>p[i].second; dp[i]=1; } sort(p+1,p+1+n); for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { if(p[i].first>p[j].first && p[i].second>p[j].second) { dp[i]=max(dp[j]+1,dp[i]); } } } for(int i=1;i<=n;i++) { ans=max(ans,dp[i]); } cout<<ans; return 0; }
Information
- ID
- 3033
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- (None)
- # Submissions
- 10
- Accepted
- 6
- Uploaded By