#1WA,求助,玄关
查看原帖
#1WA,求助,玄关
1251345
2012_Zhang_楼主2024/6/10 18:24
#include<bits/stdc++.h>
using namespace std;
struct z{
    long long a,b,c;
}x[5000000];
long long n,sum=0;
int main(){
    cin>>n;
    if(n<3){
        cout<<0<<endl;
        return 0;
    }
    x[0].a=0,x[0].b=0,x[0].c=0;
    for(int i=1;i<=n;i++){
        x[i].a=0,x[i].b=0,x[i].c=0;
        char y;
        cin>>y;
        if(y=='J') x[i].a++;
        if(y=='O') x[i].b++;
        if(y=='I') x[i].c++;
        x[i].a+=x[i-1].a;
        x[i].b+=x[i-1].b;
        x[i].c+=x[i-1].c;
    }
    for(int i=3;i<=n;i+=3){
        for(int j=i;j<=n;j++){
            if(x[j].a<i/3||x[j].b<i/3||x[j].c<i/3) continue;
            if(x[j].a-x[j-i].a==x[j].b-x[i-j].b&&x[j].b-x[j-i].b==x[j].c-x[j-i].c){
                sum=i;
                break;
            }
        }
    }
    cout<<sum<<endl;
    return 0;
}
2024/6/10 18:24
加载中...