Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
142280 | 吴悠 | 友好城市 | C++ | 通过 | 100 | 40 MS | 324 KB | 587 | 2024-04-06 20:32:11 |
#include<iostream> #include<algorithm> using namespace std; int dp[5001]; struct Line{ int cn; int cs; }line[10001]; bool cmp(Line a,Line b){ return a.cn<b.cn; } int main(){ int x,y,n; cin>>x>>y; cin>>n; for(int i=1;i<=n;i++){ cin>>line[i].cn>>line[i].cs; } sort(line+1,line+n+1,cmp); for(int i=1;i<=n;i++){ int max_=0; for(int j=1;j<i;j++){ if(dp[j]>max_ && line[j].cs<=line[i].cs){ max_=dp[j]; } } dp[i]=max_+1; } int ans=0; for(int i=1;i<=n;i++){ if(dp[i]>ans){ ans=dp[i]; } } cout<<ans<<endl; return 0; }