Codeforces Round 55 (Rated for Div. 2) B - Vova and Trophies
题目:
http://codeforces.com/contest/1082/problem/B
题解:
代码:
//2
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define MAXN 100010
char str[MAXN];
int l[MAXN],r[MAXN];
int main()
{
int i;
int allnum;
int n;
int ans;
scanf("%d",&n);
scanf("%s",str+1);
allnum=0;
for(i=1;i<=n;i++)
{
if(str[i]=='G')
{
allnum++;
l[i]=l[i-1]+1;
}
}
for(i=n;i>=1;i--)
{
if(str[i]=='G')
r[i]=r[i+1]+1;
}
ans=0;
if(allnum==n)
{
printf("%d\n",n);
return 0;
}
for(i=1;i<=n;i++)
{
if(str[i]=='S')
{
if(l[i-1]+r[i+1]==allnum)
ans=allnum;
else
ans=max(ans,l[i-1]+r[i+1]+1);
}
}
printf("%d\n",ans);
return 0;
}