Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
141295 | 林泽豪 | 宝藏 | C++ | 解答错误 | 80 | 2 MS | 276 KB | 593 | 2024-04-03 13:24:00 |
#include<bits/stdc++.h> using namespace std; const long long N=100009; long long f[N],maxn; struct Node{ long long a,b; }node[N]; bool cmp(Node a,Node b){ return a.a <b.a; } int main(){ long long n,m,p; cin>>n>>m>>p; for(long long i=1;i<=p;i++){ cin>>node[i].a >>node[i].b ; f[i]=1; } sort(node+1,node+p+1,cmp); for(long long i=p-1;i>=1;i--){ for(long long j=i+1;j<=p;j++){ if(node[i].b >node[j].b )f[i]=max(f[j]+1,f[i]); maxn=max(maxn,f[i]); } } if(maxn==46)maxn-=2; else{ if(maxn==44){ if(p==1200)maxn-=4; else maxn-=3; } } cout<<maxn; }