Вася придумал робота-шифратора, и сейчас пишет для него программы. шифратор работает со строками. до сегодняшнего дня робот умел выполнять только команду cut(x), она означает, что нужно взять поданную на вход роботу строку, разрезать ее пополам после символа с номером x, символы второй части записать в обратном порядке, затем две части переставить местами и склеить обратно в целую строку (символы строки нумеруются слева направо начиная с 1). например, если робот работает со строкой алгоритм и выполняет команду cut(4), то результатом его работы будет строка мтиралго. если после этого робот выполнит команду cut(1), то получится строка огларитм. сегодня вася написал новую команду mcut. например, mcut(4, 1, 3) означает, что робот сначала выполняет команду cut(4), затем для получившейся строки команду cut(1), затем для получившейся строки команду cut(3). на вход роботу подали строку абвгдежз, после чего он выполнил команду mcut(3, 7, 6, 5, 1) 2020 раз подряд (после первого выполнения команды mcut вторая выполняется для полученной строки и так далее). какая строка в итоге получилась?
Const
s=5;
Var
ar:array[1..s] of integer;
n,m,i:integer;
begin
writeln('N');
readln(n);
writeln('M');
readln(m);
writeln('Array:');
for i:=1 to s do
readln(ar[i]);
writeln('First array:');
for i:=1 to s do
begin
write(ar[i]:4);
if ar[i] div n<>0 then ar[i]:=ar[i]+m;
end;
writeln;
writeln('Final array:');
for i:=1 to s do
write(ar[i]:4);
end.
Пример ввода:
3
3
1
2
3
4
5
Пример вывода:
First array:
1 2 3 4 5
Final array:
1 2 6 7 8
//Блок-схема во вложении
Объяснение:
#include <iostream>
using namespace std;
int main()
{
int N, counter = 1, max_counter=1,post;
cin >> N;//всего матчей
cin >> post;// ввод первого числа последовательности
for (int i = 0; i < N-1; i++) {
int a;
cin >> a;// ввод остальных N-1 чисел последовательности
if (a == post && a == 1) {
counter++;
if (counter > max_counter)
max_counter = counter;
}
else
{
counter = 1;
}
post = a;
}
cout << max_counter;
return 0;
}