Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
52244 wssdr 木板游戏 C++ 解答错误 65 178 MS 4168 KB 501 2022-07-19 11:50:28

Tests(13/20):


#include<bits/stdc++.h> #define N 500005 using namespace std; int n,f[N],ans; struct Block{int l,r;}; struct Block b[N]; inline bool cmp(const Block&x,const Block&y){ return (x.l^y.l)?x.l>y.l:x.r<y.r; } int main(){ scanf("%d",&n); for(int i(1);i<=n;++i) scanf("%d%d",&b[i].l,&b[i].r); sort(b+1,b+1+n,cmp); f[ans=1]=b[1].r; for(int i(2);i<=n;++i){ if(b[i].r>f[ans]) f[++ans]=b[i].r; else f[lower_bound(f+1,f+1+ans,b[i].r)-f]=b[i].r; } printf("%d\n",ans); return 0; }


测评信息: