Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
52277 alex_liu 木板游戏 C++ 运行超时 0 2000 MS 8052 KB 776 2022-07-19 11:51:32

Tests(0/20):


#include<bits/stdc++.h> #define int long long #define mp pair<int,int> #define l first #define r second using namespace std; inline int read(){ int x=0,f=0;char c=getchar(); while(c<48||c>57)f|=(!(c^'-')),c=getchar(); while(c>=48&&c<=57)x=(x<<1)+(x<<3)+(c^48),c=getchar(); return f?-x:x; } int n,cnt,b[500005]; mp a[500005]; signed main(){ n=read(); for(int i=1;i<=n;i++)a[i].l=read(),a[i].r=read(); sort(a+1,a+n+1,greater<mp>()); for(int i=1,ll,rr,mid;i<=n;i++){ if(!cnt||a[i].r<=b[cnt])b[++cnt]=a[i].r; else{ ll=1,rr=cnt; while(ll<rr){ mid=(ll+rr)>>1; if(b[mid]>=a[i].r){ ll=mid; if(b[mid-1]<a[i].r)break; } else rr=mid-1; } b[ll]=a[i].r; } } cout<<cnt<<endl; return 0; }


测评信息: