Решение с языка Python.
Вася не любит английский язык, но каждый раз старается получить хотя бы
четверку за четверть, чтобы оставаться ударником. В текущей четверти Вася
заметил следующую закономерность: по нечетным дням месяца он получал
тройки, а по четным – четверки. Так же он помнит, в какие дни он получал эти
оценки. Поэтому он выписал на бумажке все эти дни для того, чтобы оценить,
сколько у него троек и сколько четверок Васе это сделать, расположив
четные и нечетные числа в разных строчках. Вася может рассчитывать на оценку 4,
если четверок не меньше, чем троек.
Входные данные
В первой строке входного файла INPUT.TXT записано единственное число N
– количество элементов целочисленного массива (1<=N<=100). Вторая строка
содержит N чисел, представляющих заданный массив. Каждый элемент массива –
натуральное число от 1 до 31. Все элементы массива разделены пробелом.
3
Выходные данные
В первую строку выходного файла OUTPUT.TXT нужно вывести числа,
которые соответствуют дням месяцев, в которые Вася получил тройки, а во второй
строке соответственно расположить числа месяца, в которые Вася получил
четверки. В третьей строке нужно вывести «YES», если Вася может рассчитывать
на четверку и «NO» в противном случае. В каждой строчке числа следует выводить
в том же порядке, в котором они идут во входных данных. При выводе, числа
отделяются пробелом.
Примеры
№ INPUT.TXT OUTPUT.TXT
1
5
4 16 19 31 2
19 31
4 16 2
YES
2
8
29 4 7 12 15 17 24 1
29 7 15 17 1
4 12 24
NO
//Версия 3.3. сборка 1583 (25.11.2017)
begin
var a:=ArrRandom(ReadInteger('Введите размер массива: '),-20,20); a.Println;
var s:=1;
var max:=0;
for var i:=0 to a.Length-2 do
begin
if a[i]<a[i+1]
then s+=1
else
if s>max
then max:=s
else s:=1;
end;
Println('Максимальная длина неубывающего участка-> ',max);
s:=0;
max:=0;
var maxi:=0;
for var i:=0 to a.Length-1 do
begin
for var j:=0 to a.Length-1 do
if a[i]=a[j] then s+=1;
if s>max then begin max:=s; maxi:=i; end;
s:=0;
end;
If max=1 then Println('Числа повторяются одинаково')
else Println('Наиболее повторяющееся число->',a[maxi]);
end.
Немного короче, но сложнее в восприятии будет, я думаю
Пример: