Решение
🔹 Шаг 1. Считываем строку из файла
s = open("24_8hdCWXt.txt").read()
📌 Что происходит:
Имя файла в коде: 24_8hdCWXt.txt.
🔹 Шаг 2. Подготавливаем переменные
l = 0
cnt = 0
y = 0
ans = 0
📌 Назначение переменных:
l — левая граница текущего фрагмента (окна);
счётчик пар — количество пар 2025 внутри текущего фрагмента;
ans — максимальная длина подходящего фрагмента.
🔹 Шаг 3. Двигаем правую границу окна
for r in range(len(s)):
📌 Что происходит:
🔹 Шаг 4. Учитываем новую пару справа
if s[r] == "Y":
y += 1
📌 Объяснение:
при добавлении нового символа справа проверяем, образовалась ли новая пара 2025;
если да — увеличиваем счётчик bc.
🔹 Шаг 5. Сужаем окно при нарушении условия
while y > 80:
if s[l:l+4] == "2025":
cnt -= 1
if s[l] == "Y":
y -= 1
l += 1
📌 Что происходит:
если в окне больше 80 пар 2025, оно недопустимо;
сдвигаем левую границу l вправо;
если при этом исчезла пара 2025, уменьшаем bc.
🔹 Шаг 6. Обновляем максимальный ответ
if y == 80 and cnt >= 90:
ans = max(ans, r - l + 1)
📌 Почему так:
🔹 Шаг 7. Вывод результата
print(ans)
📌 Это и есть ответ задачи — максимальное количество идущих подряд символов, в которых пара 2025 встречается не более 80 раз.