Если будете сдавать в тестирующей системе, то вместо 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.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var a:=ReadArrInteger('Введите 25 не повторяющихся чисел:'+NewLine,25);
var b:=ReadArrInteger('Введите '+n+' не повторяющихся чисел:'+NewLine,n);
Writeln('Объединенная последовательность:'); (a+b).Println
end.
Пример:
n= 8
Введите 25 не повторяющихся чисел:
-35 41 42 20 -27 1 35 -11 -24 -33 -45 16 50 -8 26 15 6 -38 32 44 -22 -25 -3 -28 48
Введите 8 не повторяющихся чисел:
-14 0 37 5 11 -29 36 -19
Объединенная последовательность:
-35 41 42 20 -27 1 35 -11 -24 -33 -45 16 50 -8 26 15 6 -38 32 44 -22 -25 -3 -28 48 -14 0 37 5 11 -29 36 -19