Объяснение:
возможно то, возможно нет, но на:
map(int, input().split()) можно использовать в случае, если вводится несколько чисел через разделитель (в данном случае через пробел)
По шагам:
input() возвращает строку (например: "1 2 3")
split() преобразует строку в list по разделителю - по умолчанию это пробел (результат: ["1", "2" ,"3"])
map преобразует список в соответствие с функцией - в данном случае int(elem) (результат: [1, 2 , 3]
В результате выполнения кода получится объект map, который хорошо бы еще было обернуть в list (list(map())
Здесь ничего не написано про случай, если максимум = минимуму, поэтому его не учитываем.
Идея программы: просто ищем индекс первого максимального и первого минимального, а затем сравниваем их
Фрагмент кода:
int max = a[0], min = a[0];
int i_max = 0, i_min = 0;
for (int i = 1; i < n; i++) {
if (a[i] > max) {
max = a[i];
i_max = i;
}
if (a[i] < min) {
min = a[i];
i_min = min;
}
}
if (i_max > i_min)
cout << "MAX";
else if (i_min > i_max)
cout << "MIN";
var i,n,count:integer;
a:array[1..100] of integer;
begin
read(n);
for i:=1 to n do
read(a[i]);
writeln('Номера элементов:');
for i:=1 to n-1 do
if a[i]>a[i+1] then
begin
write(i,' ');
count:=count+1;
end;
writeln(#13#10,'Всего элементов:',#13#10,count);
end.