Предмет: Информатика, автор: NightTheme

Минимальное произведение
Дана последовательность из N целых чисел (они могут быть положительными, отрицательными или равными 0). Необходимо выбрать из этих чисел два числа так, чтобы их произведение было как можно меньшим (не рассматриваются квадраты данных чисел, но можно выбрать произведение двух различных элементов последовательности, равных друг другу).

Формат входных данных
В первой строке входных данных записано целое число N, (2⩽N⩽105)— количество данных чисел. Следующие N строк содержат сами числа, не превосходящие по модулю 40000.

Формат выходных данных
Программа должна вывести единственное целое число — наименьшее возможное произведение двух различных элементов этой последовательности.

Помогите пожалуйста! На пайтоне!

Ответы

Автор ответа: vimmortal2
1

Программа:

Python:

N = int(input())

arr = [int(input()) for _ in range(N)]

arr.sort()

print(min(arr[0] * arr[1], arr[-1] * arr[0], arr[-2] * arr[-1]))

Объяснение:

В начале вводится число N, необъодимое по условию. Далее - в массив заносится N целых чисел с клавиатуры. Сортируем данный массив с помощью встроенной функции sort(). После сортировки у нас получается массив, в котором два наименьших элемента будут первыми двумя элементами массива, а два наибольших элемента - двумя последними. С помощью встроенной функции Python min() находим минимальное произведение среди таких-вот элементов (два первых, два последних). arr[0] и arr[1] - два минимальных, arr[-2] и arr[-1] - два максимальных (последних).

Результат:

3

-5

1

0

-5

3

0

1

2

0

Похожие вопросы
Предмет: Английский язык, автор: Аноним
Предмет: Английский язык, автор: veronikachvanov1