Присоединиться

11 класс·высокий уровень

Укажите найденное суммарное количество осадков.

Условие

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

Файл АФайл ВВходные данные.

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

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

Запишите в ответе два числа: сначала значение искомой величины для файла A, затем — для файла B.Типовой пример организации данных во входном файле:351510200030При таких исходных данных максимально возможное суммарное количество осадков равно 45 — это сумма осадков, выпавших на первой и пятой минутах.

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

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Решение. Последовательно будем проверять переданные числа, чтобы между моментами их передачи прошло не менее K мин., а их сумма была максимально возможной. Приведём решение на языке Python. f = open('27.txt')k = int(f.readline())n = int(f.readline())a = [int(x) for x in f]summa = 0maxi = 0for i in range(n): maxi = max(maxi, a[i]) if i + k < len(a): summa = max(summa, maxi+a[i+k])print(summa) В результате работы данного алгоритма при вводе данных из файла A ответ — 1993, из файла B —

Осталось ещё 1 шаг

  1. Примечание. Путь к файлу необходимо указать…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Программирование»