Если будете сдавать в тестирующей системе, то вместо 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
if s[i]='G' then k:=k+1
else
if p=1 then
p:=0;
if s[i-1]='G' then
if (k>mxj) then mxj:=k;
k:=0;
end
if k>0 then p:=1;
if k>mx then mx:=k;
end;
if mx>mxj then k:=mx+1
else k:=mxj+1;
if k=1 then k:=0;
writeln(k);
end.
Поделитесь своими знаниями, ответьте на вопрос:
1) Напишите прямой код чисел 48, 89, -36 в восьмиразрядном представлении.. 2)Напишите дополнительный код чисел -28, -56, -109?
Если будете сдавать в тестирующей системе, то вместо 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.