Предмет: Информатика,
автор: FerunandoVotram
27 задание на егэ по информатике( № 7772 на решу егэ). Вот задание:
Для заданной последовательности неотрицательных целых чисел необходимо найти максимальное произведение двух её элементов, номера которых различаются не менее чем на 8. Значение каждого элемента последовательности не превышает 1000. Количество элементов последовательности не превышает 10000.
В решении говорится, что для эффективного решения по времени и по памяти нужно хранить только последние 8 максимумов, но я не могу понять почему(отчасти из-за того, что решение дается на паскале). Может кто объяснить и показать правильное решение на питоне?
Ответы
Автор ответа:
1
m = 0; p = 1; n = int(input())
a = [int(input()) for i in range(8)]
for i in range(n-8):
a.append(int(input()))
m = max(m, a[0]); p = max(p, m*a[8])
a = a[1:]
print(p)
FerunandoVotram:
с кодом разобрался, однако почему изначально p=1, а не 0? Это на что-то влияет или можно p присвоить 0?
Можно присвоить и 0. Просто у меня выработалась привычка присваивать для поиска произведения 1. :D
Это нужно скорее для 25 задачи, а тут это не важно
понял, спасибо
Похожие вопросы
Предмет: Алгебра,
автор: frozen554
Предмет: Геометрия,
автор: milanakawaina
Предмет: Литература,
автор: skryagaanna
Предмет: Математика,
автор: диана23052812
Предмет: История,
автор: daliz1914