Главная / ЕГЭ Информатика / Задание №27 / ID 34699
ID 34699 ЕГЭ Информатика Линия №27 СдамГИА ID: 59826 Анализ информационных моделей
✈️ TG ВК Следующая ⏭️
Задание выполняется с использованием прилагаемых файлов.
По каналу связи передаётся последовательность целых чисел  — показания прибора, полученные с интервалом 1 мин. в течение N мин. (N  — натуральное число). Прибор измеряет значение заряда частиц, полученное регистратором за минуту, предшествующую моменту регистрации, и передаёт это значение в условных единицах измерения.
Определите два таких переданных числа, чтобы между моментами их передачи прошло не менее мин., а их произведение было максимально возможным. В ответе запишите  — найденное произведение.

Файл А
Файл В

Входные данные.
Даны два входных файла (файл А и файл В), каждый из которых в первой строке содержит натуральное число K  — минимальное количество минут, которое должно пройти между  — двумя передачами показаний, а во второй  — количество переданных показаний N (1 ≤  N ≤ 10 000 000, N > K). В каждой из следующих N строк находится одно целое число, по модулю не превышающее 100 000, обозначающее числовое значение заряда частиц в минуту.
Выходные данные.
Запишите в ответе два числа: сначала значение искомой величины для файла A, затем  — для файла B.

Ответ:
💡 Пошаговый разбор и решение:
Приведём решение на языке Python.

f = open('27.txt')
K = int(f.readline())
N = int(f.readline())
a = [int(x) for x in f]
m = 0
maxi = 0
for i in range(K,N): #перебираем числа начиная с К, так как между измерениями прошло менее K минут
m = max(m, a[i-K]) #выбираем максимальное измерение на расстоянии не менее К
maxi = max(maxi, a[i] * m) #определяем максимальное произведение измерений
print(maxi)

В результате работы данного алгоритма при вводе данных из файла A ответ  — 9992901218, из файла B  — 9999600004.

Примечание.
Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.

Приведём решение Юрия Красильникова на языке Python.

k, _, *a = [int(s) for s in open('27B_59826.txt')]
r, m = 0, 0
for i in range(k,len(a)):
m = max(m,a[i-k])
r = max(r,m*a[i])
print(r)
Правильный ответ: 9992901218&9999600004
📚 Похожие разобранные задания по предмету:
ID 30421 • Задание №7
Виталий фотографирует интересные места и события с помощью своего смартфона. Каждая фотография представляет со...
Смотреть разбор ↗
ID 32993 • Задание №18
Квадрат разлинован на N×N клеток (1 N Исполнитель Робот может перемещаться по клеткам, выполняя за одно переме...
Смотреть разбор ↗
🔗 Другие задания линии №27 по предмету Информатика:
ID 34669 Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой ... ID 34670 Последовательность натуральных чисел характеризуется числом Х  — наибольшим числом, кратным 14 ... ID 34671 На вход программы поступает последовательность из N целых положительных чисел. Рассматриваются ... ID 34672 Дана последовательность N целых положительных чисел. Рассматриваются все пары элементов последо... ID 34673 На вход программы поступает последовательность из N натуральных чисел. Рассматриваются все пары...
← Предыдущее задание 📚 Все задания по предмету Следующее задание →