Если будете сдавать в тестирующей системе, то вместо string, лучше использовать массив char - работает быстрее.
var n,i,k,p,mx,mxj: integer;
s: array[1..100000] of char;
begin
readln(n);
for i:=1 to n do read(s[i]);
k:=0; p:=0;
mx:=0; mxj:=0;
for i:=1 to n do
begin
if s[i]='G' then k:=k+1
else
begin
if p=1 then
begin
p:=0;
if s[i-1]='G' then
if (k>mxj) then mxj:=k;
k:=0;
end
else
begin
if k>0 then p:=1;
if k>mx then mx:=k;
end;
end;
end;
if mx>mxj then k:=mx+1
else k:=mxj+1;
if k=1 then k:=0;
writeln(k);
end.
//Написал простейшую программу для наглядного примера. Суть в том, что ограничено число попыток ввода неправильного пароля
//attempts - количество попыток, counter - счетчик неудачных попыток
const
attempts = 3;
password = '12345';
var
counter: integer;
str: string;
begin
counter := 0;
repeat
write('Введите пароль: ');
readln(str);
if not(str = password) then
begin
counter := counter + 1;
writeln('[неверный пароль] осталось попыток: ', attempts - counter);
writeln();
end;
if (counter = attempts) then
begin
writeln('Попытки ввода закончились!');
break;
end;
until (str = password);
if (str = password) then
writeln('Вы ввели правильный пароль!');
end.