提交时间:2025-05-04 21:41:45
运行 ID: 193011
#include<bits/stdc++.h> using namespace std; int n; vector<pair<int,int>> v; bool cmp(pair<int,int> a,pair<int,int> b){ if(a.first==b.first)return a.second>b.second; return a.first<b.first; } int main(){ scanf("%d",&n); int ta,tb; for(int i=0;i<n;i++){ scanf("%d%d",&ta,&tb); v.push_back({ta,tb}); } sort(v.begin(),v.end(),&cmp); vector<int> dp; for(auto num:v){ auto pos=lower_bound(dp.begin(),dp.end(),num.second); if(pos==dp.end())dp.push_back(num.second); else *pos=num.second; } printf("%d",dp.size()); return 0; }