Вывод стандартный вывод стандартный вова выиграл в олимпиадах n кубков. каждый кубок либо золотой, либо серебряный. все кубки расположены в ряд один за другим. красотой расположения кубков вова называет длину максимального подотрезка из золотых кубков. вова хочет поменять местами не более одной пары кубков (не обязательно соседних) так, чтобы сделать расположение кубков максимально красивым — максимизировать длину наибольшего подотрезка из золотых кубков. вове! сообщите, какую максимальную длину наибольшего подотрезка из золотых кубков он может получить, поменяв местами не более одной пары кубков. входные данные первая строка содержит число n (2≤n≤105) — количество выигранных вовой кубков. вторая строка содержит последовательность из n символов g и s. если i-й символ равен g, то i-й кубок золотой, иначе — серебряный. выходные данные в единственной строке выведите максимальную длину наибольшего подотрезка из золотых кубков, которую вова может получить, поменяв местами не более одной пары кубков. тесты: ввод: 10 gggsgggsgg вывод: 7
Ответы на вопрос:
если будете сдавать в тестирующей системе, то вместо 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.
45
Объяснение:
Написан на c#
int a = 5, b = 13, c = 0;
a = b - a;
if (a > b)
c = 4 * a - b;
else
c = 4 * a + b;
Console.Write(c);
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
smelinkova02.08.2021 12:26
-
dima1234567890911.04.2021 05:42
-
punipunipoemi23.05.2023 03:53
-
ajdanayun27.01.2020 18:13
-
denzozp08hc109.02.2023 06:48
-
anisimovamargar112.03.2022 04:28
-
Svetik22605.04.2023 09:28
-
sabin20008912.11.2020 09:53
-
jova20011p0bpf903.12.2022 19:32
-
ghcfgnyhvjt10.08.2020 18:55
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.