无论怎么改,交上去总是 WA……求大佬们帮助
#include<bits/stdc++.h>
using namespace std;
int n,j[200001],o[200001],I[200001];
char poem;
map<int,map<int,int> >joi;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
cin>>poem;
if(poem=='J') j[i]=1;
if(poem=='O') o[i]=1;
if(poem=='I') I[i]=1;
}
for(int i=1;i<=n;i++) j[i]=j[i-1]+j[i];
for(int i=1;i<=n;i++) o[i]=o[i-1]+o[i];
for(int i=1;i<=n;i++) I[i]=I[i-1]+I[i];
int ans=0;
for(int i=1;i<=n;i++)
{
if(!joi[j[i]-o[i]][o[i]-I[i]])
{
joi[j[i]-o[i]][o[i]-I[i]]=i;
}
else
{
ans=max(ans,i-joi[j[i]-o[i]][o[i]-I[i]]);
}
}
for(int i=1;i<=n;i++)
{
if(j[i]==o[i]&&o[i]==I[i])
{
ans=max(ans,i);
}
}
printf("%d",ans);
return 0;
}