М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
fanfa
fanfa
25.01.2021 16:39 •  Информатика

Вывод стандартный вывод стандартный вова выиграл в олимпиадах 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.

4,8(77 оценок)
Открыть все ответы
Ответ:

program a1;
var
a: array [1..15] of integer;
a2: array [1..15] of integer;
Mas1:integer;
Mas2:integer;
Raz:integer;
i:integer;
begin
//Подключаем датчик случайных чисел
randomize;

//Цикл заполняющий массивы и нахождение сумм элементов масива
for i:=1 to 15 do
begin
a[i]:=random(100);
a2[i]:=sqr(a[i])-a[i];
Mas1:=Mas1+a[i];
Mas2:=Mas2+a2[i];
end;

//находим разницу массивов
raz:=mas1-mas2;

//Выводим на экран 1ый массив
write('Первый массив: ');
for i:=1 to 15 do
begin
write(a[i],'|')
end;
writeln('');

//Выводим на экран 2ой массив
write('Второй массив: ');
for i:=1 to 15 do
begin
write(a2[i],'|')
end;
writeln('');

//Выводим на экран разность массивов
write('Разность сумм элементов массива:', raz);
writeln('');
end.

4,6(10 оценок)
Ответ:
cobaka2705
cobaka2705
25.01.2021

1)а

var a:real;

begin

readln(a);

a1 := a*a;  /получили а^2
a := a1*a1;  /получили a^4

a := a1*a*a;  /получили a^(4+4+2)

writeln(a);

end.

 

1б)

var x:real;

i:integer;

begin

readln(a);

a1 := a*a*a;  /получили а^3
a := a1*a1*a1;  /получили a^9

a := a*a1*a1; /получили а^(9+3+3)

writeln(a);

end.

 

2)

var a:real;
begin
readln(a);
writeln('высоты равны', a*a*sqrt(3)/4*a);
writeln('Радиус вписанной окружности', a*a*a/4*a*a*sqrt(3)/4);
writeln('Радиус описанной окружности', a*a*sqrt(3)/4*2/3*a);
end.

 

3)var a:real;
begin
readln(a);

writeln('В килобайтах' a/1024);

writeln('В мегабайтах' a/(1024*1024));

end.

4,5(69 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ