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

Информатика·Программирование·11 класс

Дана последовательность натуральных чисел. Необходимо найти максимально

Условие

Дана последовательность натуральных чисел. Необходимо найти максимально возможную сумму её непрерывной подпоследовательности, в которой количество чётных элементов кратно k = 10. Входные данные.Файл AФайл BПервая строка входного файла содержит целое число N — общее количество чисел в наборе. Каждая из следующих N строк содержит одно число. Гарантируется, что общая сумма всех чисел не превышает 2 · 10⁹.Вам даны два входных файла (A и B), каждый из которых имеет описанную выше структуру. В ответе укажите два числа: сначала значение искомой суммы для файла A, затем для файла B. Ответ:

Ответ

4779554979258630

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

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

    Решение. Приведём решение на языке Python. f = open("27-B.txt")n = int(f.readline())lefts = [0 for i in range(10)]rights = [0 for i in range(10)]for i in range(10): lefts[i] = 0 rights[i] = 0count = 0sum = 0for i in range(1, n + 1): num = int(f.readline()) sum = sum + num if num % 2 == 0: count = count + 1 d = count % 10 if lefts[d] == 0: lefts[d] = sum rights[d] = summaxsum = 0if count % 10 == 0: print(sum)else: for i in range(1, count % 10 + 1): if (rights[i] - lefts[i]) > maxsum: maxsum = rights[i] - lefts[i]if rights[0] > maxsum: maxsum = rights[0]print(maxsum) Ответ: 4779554

Осталось ещё 2 шага — откроются после входа:

  • Шаг 2
  • Шаг 3
Получить полное решение

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

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