Python Количество локальных максимумов
Элемент последовательности называется строгим локальным максимумом, если он строго больше предыдущего и последующего элементов последовательности. Первый и последний элемент последовательности не являются локальными максимумами.
Входные данные
Дана последовательность натуральных чисел, завершающаяся числом 0. Последовательность содержит не менее трёх элементов. Гарантируется, что все числа не превосходят 100.
Выходные данные
Определите количество строгих локальных максимумов в этой последовательности.
Примеры
Ввод
5 1
0 2
0
Вывод
0 0
Загоняем все 5 чисел в массив. Делаем сортировку. В итоге получаем, что в массиве в интервале massiv[0]..massiv[3] будут лежать минимальные числа. Берем их, суммируем, получаем минимально возможную сумму.
Аналогично и с максимальной, только суммировать будем с massiv[1]..massiv[4].
Код будет примерно такой:
int max_possible_sum(char *massiv[5]){
for (int i = 1; i <5; ++i) {
int sum += massiv[i];
}
return sum;
}
Аналогично и для самой малой суммы:
int min_possible_sum(char *massiv[5]){
for (int i = 0; i <4; ++i) {
int sum += massiv[i];
}
return sum;
}
// Внимание! Если программа не работает, обновите версию!
begin
var m:=ReadInteger('Количество строк в массиве:');
var n:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив A[',m,',',n,'] ***');
var a:=MatrRandom(m,n,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
var b:=a.Cols.Select(x->x.Sum);
b.Println;
end.
Пример
Количество строк в массиве: 7
Количество столбцов в массиве: 10
*** Исходный массив A[7,10] ***
38 21 17 35 46 -38 -43 20 -38 47
5 5 1 20 22 -12 -30 -21 -41 3
-42 3 21 -25 18 -18 -7 21 -44 25
-1 50 21 -1 23 49 9 -17 -32 47
36 -44 46 7 48 -9 -35 -29 -48 35
19 -6 -38 12 -17 -16 50 -9 -34 13
20 -13 13 -12 -2 5 35 -48 47 23
75 16 81 36 138 -39 -21 -83 -190 193