#include<cstdio>
#include<iostream>
#include<cstring>
#include<cctype>
#include<algorithm>
using namespace std;
#define olinr return
#define _ 0
#define love_nmr 0
#define DB double
inline int read()
{
int x=0,f=1;
char ch=getchar();
while(!isdigit(ch))
{
if(ch=='-')
f=-f;
ch=getchar();
}
while(isdigit(ch))
{
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
inline void put(int x)
{
if(x<0)
{
x=-x;
putchar('-');
}
if(x>9)
put(x/10);
putchar(x%10+'0');
}
int n;
int ls[505000];
int rs[505000];
int su1[105000];
int su2[105000];
int cha[105000];
int minn=0x7fffffff;
int maxx;
int main()
{
n=read();
for(int x,i=1;i<=n;i++)
{
x=read();
if(!x)
{
su1[i]=su1[i-1]+1;
su2[i]=su2[i-1];
}
else
{
su1[i]=su1[i-1];
su2[i]=su2[i-1]+1;
}
cha[i]=su1[i]-su2[i]+n;
}
memset(ls,0x6f,sizeof ls);
for(int i=1;i<=n;i++)
{
ls[cha[i]]=min(ls[cha[i]],i);
rs[cha[i]]=max(ls[cha[i]],i);
minn=min(minn,cha[i]);
maxx=max(maxx,cha[i]);
}
int ans=0;
for(int i=minn;i<=maxx;i++)
{
if(i==n)
ans=max(ans,rs[i]);
else
ans=max(ans,rs[i]-ls[i]);
}
put(ans);
olinr ~~(0^_^0)+love_nmr;
}
P1114 “非常男女”计划
最新推荐文章于 2024-09-10 08:28:20 发布