Если будете сдавать в тестирующей системе, то вместо 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.
Объяснение:
1. KOI-8, DOS, MAC, ASCII, Unicode, ISO 8859-5
Главное отличие кодировок – это используемый набор символов
2. Кодировка unicode введена для того что бы одним набором символов можно было писать на любом языке
3. 28 символов*2байта = 56 байт
4. В кодировке ASCII код английской буквы A = 65, коды остальных букв соответствуют их порядку в алфавите (B - 66, b - 98, C - 67, c - 99, D - 68, d - 100, E - 69, e - 101 и т.д.) ⇒
расшифровка сообщения 77 105 99 107 101 121 32 77 111 117 115 101:
Mickey Mouse
5. В кодировке ASCII числовое значение кодов прописных букв меньше числового значения строчных букв на 32. Пример: А — 65, а — 97. Чтобы получить последовательность десятичных чисел для букв слова basic нужно к кодам букв слова BASIC прибавить 32:
66 + 32 = 98;
65 + 32 = 97;
83 + 32 =115;
73 + 32 = 105;
67 + 32 = 99.
ответ: 98 97 115 105 99.
6. (I - информационный объем текста, K - кол-во символов, i - вес одного символа/бит на символ)
Дано:
K = 25 * 80 = 2000 шт
i = 8 бит
I - ?
I = K * i = 2000 * 8 бит = 16000 бит
16000 бит = 2000 байт = 1,95 Кбайт