cha 数组记录每一个人时的男女人数差,如果一个区间的两个端点人数差相等,那么这个区间内男女人数相等。
#include<iostream>
using namespace std;
int cha[100005];
int main()
{
ios::sync_with_stdio(false);
int n, now, male = 0, female = 0, maxans = 0;
cin >> n;
for(int i = 1;i <= n;i++)
{
cin >> now;
if(now == 0)
{
female++;
}
else
{
male++;
}
cha[i] = male - female;
}
for(int l = 0;l <= n;l++)
{
for(int r = n;r > l;r--)
{
if(cha[l] == cha[r])
{
if(r-l > maxans)
{
maxans = r-l;
}
break;
}
}
}
cout << maxans << endl;
return 0;
}