#include<cstdio>
#include<utility>
#include<map>
#include<algorithm>
#define MAX 200005
using namespace std;
pair<int,int> tmp;
map<pair<int,int>,int> m;
char s[MAX];
int a[MAX],b[MAX],n,ans;
int main(){
scanf("%d%s",&n,s);
for(int i=0;i<n;i++){
if(s[i]=='1')a[i+1]=1;
if(s[i]=='2')a[i+1]=b[i+1]=-1;
if(s[i]=='3')b[i+1]=1;
}
for(int i=0;i<=n;i++){
if(i!=0){
a[i]+=a[i-1];
b[i]+=b[i-1];
}
tmp=make_pair(a[i],b[i]);
if(m.count(tmp)){
ans=max(ans,i-m[tmp]);
}
else m[tmp]=i;
}
printf("%d\n",ans);
}
沒有留言:
張貼留言