Задача к ЕГЭ по информатике на тему «задачи под вебы» №3

Задача с ЕГЭ-2024

Текстовый файл 24-295.txt состоит не более чем из 106  символов и содержит только буквы латинского алфавита A  , B  , C  , D  , E  и F  . Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых пара символов DE  (в указанном порядке) встречается не более 240 раз.

f = open("24-295.txt")
s = f.readline()
start = 0 # Начало текущей подстроки
xc = 0 # Счетчик для количества пар ’DE’ в текущей подстроке
mx = 0 # Максимальная длина подстроки, удовлетворяющей условию
# Проходим по строке с помощью двух указателей (start и end)
# Обрабатываем пары символов, поэтому end < len(s) - 1
for end in range(len(s) - 1):
# Проверяем, является ли текущая пара символов ’DE’
    if s[end:end + 2] == ’DE’:
        xc += 1  # Увеличиваем счетчик пар ’DE’
# Если количество пар ’DE’ превышает 240, сдвигаем начало подстроки вправо
    while xc > 240:
# Если пара символов в начале подстроки - ’DE’, уменьшаем счетчик
        if s[start:start + 2] == ’DE’:
            xc -= 1
        start += 1 # Сдвигаем начало подстроки вправо
# Обновляем максимальную длину подстроки, если текущая подстрока длиннее
    if end - start > mx:
        mx = end - start
# Выводим результат (+ 2, так как учитываем пары символов)
print(mx + 2)

Ответ: 1792
Оцените статью
Я решу все!