#include<bits/stdc++.h>
#define l long long
using namespace std;
l a[100005],n,f,e,same=1,f1,e1,maxx=-1;
int main()
{
cin>>n;
for(l i=1;i<=n;i++){
cin>>a[i];
if(!(a[i]-1)) f++;
else if(a[i]==2) e++;
if(f==e) same++;
}
cout<<f<<" "<<e<<endl<<same<<endl;
for(l i=1;i<=n;i++){
if(!(a[i]-1)) f1++;
else if(a[i]==2) e1++;
l ans=0;
if(a[i]!=a[i+1]&&(f1!=e1)){
for(l j=i+1;j<=n;j++){
if(a[j]!=a[i+1]) break;
ans++;
}
}
if(!(a[i]-1)){
if(f1+ans>e1) maxx=max(maxx,ans);
}
else if(e1+ans>f1) maxx=max(maxx,ans);
}
cout<<maxx;
}
代码略丑,还望dalao帮忙!