90分求大佬帮助 QwQ

P2697 宝石串

Dead_reaper @ 2024-02-20 14:44:25

#include<bits/stdc++.h>
using namespace std;
long long len,n,m,c,ps[1005];
int maxx=-1e8,sz[1005],a,b;
string str;
int main(){
    cin>>str;
    n=str.size();n*=2;
    str+=str;
    for(int i=1;i<=n;i++){
        if(str[i-1]=='G') sz[i]=1;
        else sz[i]=-1;
        ps[i]=ps[i-1]+sz[i];
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=i;j++){
            if(i-j+1>n/2) break;
            if(ps[i]-ps[j-1]==0)
                maxx=max(maxx,i-j+1);
        }
    }
    cout<<maxx;
    return 0;
}

90分求大佬帮助 QwQ


by HMSVanguard @ 2024-02-20 15:30:29

错的那个点数据全部都是G,应该输出0,但maxx没有变就输出了,只要在输出时特判一下maxx是不是-1e8输出0就好了。


by Dead_reaper @ 2024-02-20 16:02:40

@HMSVanguard 谢大佬


|