50WA求调

P2697 宝石串

UnknowOne @ 2024-10-02 20:09:39

#include<iostream>
#include<cstring>
using namespace std;
string s;
int b[100010];
int main(){
    cin>>s;
    for(int i=0;i<s.size();i++){
        if(s[i]=='G'){
            b[i]=b[i-1]+0;
        }
        else{
            b[i]=b[i-1]+1;
        }
    }
    for(int i=s.size()-1;i>=0;i--){
        if(i%2==0){
            for(int j=0;j<s.size()-i+1;j++){
                if(b[i+j-1]-b[j-1]==i/2){
                    cout<<i;
                    return 0;
                }
            }
        }
    }
    cout<<0;
}

by UnknowOne @ 2024-10-02 21:12:07

#include<iostream>
#include<cstring>
using namespace std;
string s;
int g,r,ans;
int main(){
    cin>>s;
    for(int i=0;i<s.size();i++){
        for(int j=i+1;j<s.size();j++){
            g=0;
            r=0;
            for(int k=i;k<=j;k++){
                if(s[k]=='G'){
                    g++;
                }
                else{
                    r++;
                }
                if(g==r){
                    ans=max(ans,g*2);
                }
            }
        }
    }
    cout<<ans;
}

难绷,暴力过的,亏我还想 了1个小时的前缀和


|