Задача с ЕГЭ-2024
Текстовый файл 24-295.txt состоит не более чем из символов и содержит только буквы латинского алфавита
,
,
,
,
и
. Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых пара символов
(в указанном порядке) встречается не более 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