Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3723552
А
Аноним
13 октября 2026 13:23 · публичный вопрос
А
Аноним

Реши задание на изображении

Ответ нейросети

Краткий ответ — решение на Python:

import sys

data = list(map(int, sys.stdin.buffer.read().split()))

n = data[0]
answers = data[1:n + 1]

best_length = 0
best_start = 0

current_length = 0
current_start = 0

for question, answer in enumerate(answers, start=1):
    if answer == 1:
        if current_length == 0:
            current_start = question

        current_length += 1

        # Строгое > сохраняет самую раннюю серию при равенстве
        if current_length > best_length:
            best_length = current_length
            best_start = current_start
    else:
        current_length = 0

print(best_length)
print(best_start)

Как работает алгоритм

  • current_length — длина текущей серии единиц.
  • current_start — номер вопроса, с которого она началась.
  • best_length и best_start — лучшая серия среди уже просмотренных.
  • Если встречается 0, текущая серия заканчивается.
  • Если новая серия длиннее лучшей, запоминаем её.
  • При равной длине ничего не меняем, поэтому сохраняется серия, начинающаяся раньше.

Для примера серии имеют длины:

  • вопросы 1–2: длина \(2\);
  • вопросы 4–6: длина \(3\);
  • вопросы 8–10: длина \(3\).

Самая ранняя из самых длинных начинается с вопроса \(4\), поэтому ответ:

3
4

Сложность: \(O(n)\) по времени и \(O(1)\) дополнительной памяти.