youth191954 @ 2024-04-15 13:57:25
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
const int mx=1e6+10;
string s;
int a[mx],ans=-1000,sam[mx];
int main(){
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]=='G')a[i]+=1;
else a[i]-=1;
}
for(int i=0;i<s.size();i++)sam[i]=a[i]+sam[i-1];
for(int i=0;i<s.size();i++){
for(int j=i+1;j<=s.size()+1;j++){
if((sam[j]-sam[i-1])==0&&(j-i+1)>ans)ans=j-i+1;
}
}
cout<<ans/2;
return 0;
}
by wangtianhao0609 @ 2024-09-22 17:08:13
@youth191954 \
#include<bits/stdc++.h>
using namespace std;
string s,x;
int maxn;
bool pd(string a){
int s1=0,s2=0;
for (int i=0;i<a.size();i++)
{
if (a[i]=='R')
{
s1++;
}
else
{
s2++;
}
}
if (s1==s2)
{
return true;
}
return false;
}
int main(){
cin >>s;
for (int i=0;i<s.size();i++)
{
for (int j=i+2;j<s.size();j++)
{
x="";
for (int k=i;k<=j;k++)
{
x+=s[k];
}
if (pd(x))
{
int y=x.size();
maxn=max(y,maxn);
}
}
}
cout <<maxn;
return 0;
}