РУҚА
25

Максимальная сумма осадков

ЕГЭ · Информатика · Задание 25 · Алгоритмы и исполнители
ВысокаяФИПИ6E6BDDКороткий ответ≈ 15 минут

По каналу связи передаётся последовательность целых неотрицательных чисел — показания прибора, полученные с интервалом в 1 мин в течение $T$ мин. Прибор измеряет количество атмосферных осадков, полученное регистратором за минуту, предшествующую моменту регистрации, и передаёт это значение в условных единицах измерения.

Определите два таких переданных числа, чтобы между моментами их передачи прошло не менее $K$ мин, а их сумма была максимально возможной. Укажите найденное суммарное количество осадков.

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

Для каждого файла найдите максимальную сумму двух элементов последовательности, номера которых отличаются не менее чем на $K$. Запишите сначала значение для файла А, затем значение для файла B.

Типовой пример: при $K=3$ и последовательности $15, 10, 200, 0, 30$ максимальная сумма равна $45$ — это сумма значений на первой и пятой минутах.

Для обработки файла B не следует использовать переборный алгоритм, вычисляющий сумму для всех возможных пар.

Условие как в банке ФИПИ — открыть и сверить
Впишите правильный ответ.

Задание выполняется с использованием прилагаемых
файлов.

По каналу связи передаётся последовательность целых неотрицательных чисел – показания прибора, полученные
с интервалом в 1 мин. в течение T мин. (T – целое число). Прибор измеряет количество атмосферных осадков, полученное регистратором за минуту, предшествующую моменту регистрации,
и передаёт это значение в условных единицах измерения.

Определите два таких переданных числа, чтобы между моментами их передачи прошло не менее K мин., а их сумма была максимально возможной. Укажите найденное суммарное количество осадков.

Входные данные

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

Запишите в ответе два числа: сначала значение искомой величины для файла А, затем – для файла B.

Типовой пример организации данных во входном файле

3

5

15

10

200

0

30

При таких исходных данных максимально возможное суммарное количество осадков равно 45 – это сумма осадков, выпавших на первой и пятой минутах.

Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов.

Предупреждение: для обработки файла B не следует использовать переборный алгоритм, вычисляющий сумму для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго.



Ваш ответ

Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.

!
3 уровня: от лёгкого толчка до почти готового решения. Следующий открывается, когда прочитан предыдущий, — чтобы не перепрыгнуть сразу к ответу.
1Мягкая — с чего смотретьуровень 1 из 3

Для каждого текущего элемента нужно знать максимальный элемент, который находится не ближе чем на $K$ позиций раньше.

2Наводящая — какие числа считатьуровень 2 из 3

Поддерживайте максимум среди элементов с индексами от $0$ до $i-K$ и обновляйте его при переходе к следующему элементу.

3Прямая — фактически решениеуровень 3 из 3

Для каждого $i \geq K$ вычисляйте сумму $a_i + \max(a_0, a_1, \ldots, a_{i-K})$. Максимум всех таких сумм и есть ответ.

Всё равно не складывается?Полное решение с обоснованием каждого шага — на отдельной странице.
Открыть решение

Задание 25 ЕГЭ, информатика

Задача из темы «Алгоритмы и исполнители»: в ней 432 задачи с ответом и разбором по шагам. В 25-м номере бланка — 216 задач.

Ответ можно проверить здесь же, а если не выходит — открыть подсказку или разбор. Регистрация не нужна.