Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
193011 | zjx1015 | 和谐俱乐部 | C++ | 通过 | 100 | 0 MS | 268 KB | 587 | 2025-05-04 21:41:45 |
#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; }