今天是状压和单调队列,没啥感想,代码
#include
using namespace std;
int n,a[1999999],b[1999999],q[1999999],hh,tt,len,ans;
int main()
{
freopen("tem.in","r",stdin);
freopen("tem.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d%d",&a[i],&b[i]);
hh=1,tt=0;
for(int i=1;i<=n;i++)
{
while(hhb[i]) hh++;
if(hh>tt) len=1;
else len=i-q[hh-1];
ans=max(ans,len);
while(hh<=tt && a[q[tt]]<a[i]) tt--;
q[++tt]=i;
}
printf("%d",ans);
return 0;
}