Найти в Дзене
Тайное общество

Решение 27 задачи ЕГЭ информатика

Необходимо найти в заданной серии показаний прибора максимальное произведение двух показаний, между моментами передачи которых прошло не менее 7 минут. Об­щее количество показаний прибора в серии не превышает 10 000. Временем передачи сигнала можно пренебречь. В первой строке задаётся число N - общее количество показаний прибора. Гарантируется, что N > 7. В каждой из следующих N строк задаётся одно положительное веще­ ственное число - очередное показание прибора. Пример входных данных: 12 12 5 45 46 89 10 11 20 30 28 26 Программа должна вывести одно число - описанное в условии произведение. Пример выходных данных для приведённого выше примера входных данных: 1350 s=7 # 7 минут между показаниями n=int(input()) a=[0]*s # обнуляем массив из 7 элементов for i in range(s): a[i]=int(input()) max1=0 # максимальное 1-е max2=a[0] # максимальное второе число for i in range(s,n): f=int(input()) if a[0]>max2: max2=a[0] if f*max

Продолжаю разбор с решением задач задания №27 ЕГЭ по информатике:
Продолжаю разбор с решением задач задания №27 ЕГЭ по информатике:

Необходимо найти в заданной серии показаний прибора максимальное произведение двух показаний, между моментами передачи которых прошло не менее 7 минут. Об­щее количество показаний прибора в серии не превышает 10 000. Временем передачи сигнала можно пренебречь.

В первой строке задаётся число N - общее количество показаний прибора.

Гарантируется, что N > 7. В каждой из следующих N строк задаётся одно положительное веще­

ственное число - очередное показание прибора.

Пример входных данных:

12

12

5

45

46

89

10

11

20

30

28

26

Программа должна вывести одно число - описанное в условии произведение.

Пример выходных данных для приведённого выше примера входных данных: 1350

s=7 # 7 минут между показаниями

n=int(input())

a=[0]*s # обнуляем массив из 7 элементов

for i in range(s):

a[i]=int(input())

max1=0 # максимальное 1-е

max2=a[0] # максимальное второе число

for i in range(s,n):

f=int(input())

if a[0]>max2:

max2=a[0]

if f*max2>max1:

max1=f*max2

for j in range(6):

a[j]=a[j+1]

a[6]=f

print(max1)