Срочно!!! Даю 100 балов

Задача №111175. Наибольшее произведение двух чисел
Дан список, заполненный произвольными целыми числами по модулю не превосходящими 106
10
6
. Найдите в этом списке два числа, произведение которых максимально. Выведите эти числа в порядке неубывания.

Решение должно иметь сложность ()
O
(
n
)
, где
n
- размер списка.

Система оценки
За тесты с ≤1000
n

1000
можно получить 20 баллов.

За тесты с ≤10000
n

10000
можно получить 20 баллов.

За тесты с ≤10000



a = list(map(int,input().split()))
max1 = -10 ** 99
max2 = -10 ** 99
min1 = 10 ** 99
min2 = 10 ** 99
for i in range(len(a)):
if a[i] > max1:
max2 = max1
max1 = a[i]
else:
if a[i] > max2:
max2 = a[i]
if a[i] < min1:
min2 = min1
min1 = a[i]
else:
if a[i] < min2:
min2 = a[i]
if max1 * max2 > min1 * min2:
print(max1, max2)
else:
print(min1, min2)

ми



Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Answers & Comments


Copyright © 2024 SCHOLAR.TIPS - All rights reserved.