Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
52533 AK2022071355 木板游戏 C++ 解答错误 5 2000 MS 8060 KB 735 2022-07-19 12:40:10

Tests(1/20):


#include <bits/stdc++.h> using namespace std; struct Wood { int l,r; } wood[500001]; int Cmp(Wood a,Wood b) { return a.l == b.l ? a.r < b.r : a.l < b.l; } int Max,i,j,longest = 1; int dp[500001]; int a[500001]; int main() { int n; scanf("%d",&n); for(i = 1;i <= n;i++) scanf("%d%d",&wood[i].l,&wood[i].r); sort(wood + 1,wood + 1 + n,Cmp); for(int i = 1;i <= n;i++) a[i] = wood[i].r,dp[i] = 1; // for(int i = 1;i <= n;i++) printf("%d\n",a[i]); for(int i = 2;i <= n;i++) { bool flag = false; for(int j = 1;j < i;j++) if(a[i] <= a[j]) dp[i] = max(dp[i],dp[j]),flag = true; if(flag) dp[i]++; } // for(int i = 1;i <= n;i++) printf("%d\n",dp[i]); printf("%d\n",dp[n]); return 0; }


测评信息: