Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
52435 | AK2022071320 | 木板游戏 | C++ | 解答错误 | 0 | 286 MS | 11456 KB | 889 | 2022-07-19 12:11:21 |
#include <bits/stdc++.h> using namespace std; int a[2001][2002]; struct abc { int l,r; int lenth; } ae[5000110]; //bool cmp(abc a,abc b) //{ // if (a.lenth==b.lenth) // { // return a.l<a.r ; // } // else return a.lenth>b.lenth; //} bool cmp(abc a,abc b) { if (a.lenth==b.lenth) { return a.l>a.r ; } else return a.lenth<b.lenth; } int main() { int n; std::cin>>n; int maxn=0;//u for (int i=1; i<=n; i++) { cin>>ae[i].l>>ae[i].r; ae[i].lenth=ae[i].r-ae[i].l+1; } sort(ae+1,ae+n+1,cmp); a[ae[1].l][ae[1].r]=1; for (int i=1; i<=n; i++) { for (int j=1; j<=i; j++)//g if(ae[j].l>ae[i].l && ae[j].r<ae[i].r)a[ae[i].l ][ae[i].r ]=max(a[ae[i].l ][ae[i].r ],a[ae[j].l ][ae[j].r ])+1; maxn=max(a[ae[i].l ][ae[i].r ],maxn);//b } std::cout<<maxn<<endl; //return 0; return 0; }