Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
52359 | lz | 木板游戏 | C++ | 运行超时 | 45 | 2000 MS | 4332 KB | 677 | 2022-07-19 11:59:30 |
#include <bits/stdc++.h> using namespace std; const int N=5e5+5; int n; int dp[N]; struct G { int l,r; } t[N]; bool cmp(G a,G b) { if(a.l==a.r) return a.r>b.r; return a.l<b.l; } int f(int a,int b) { if(a>b) return a; return b; } int ans; int main() { scanf("%d",&n); register int R; for(register int i=1; i<=n; i++) scanf("%d%d",&t[i].l,&t[i].r); sort(t+1,t+n+1,cmp); for(register int i=1; i<=n; i++) { dp[i]=1; R=t[i].r; for(register int j=1; j<i; j++) { if(R<=t[j].r) { dp[i]=f(dp[i],dp[j]+1); } } ans=f(ans,dp[i]); } printf("%d\n",ans); return 0; }