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

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

Текстовый файл 24-263.txt состоит не более чем из 106  символов и содержит только заглавные буквы латинского алфавита. Определите минимальную длину подстроки, в которой символ Z  встречается не менее 120 раз.

f = open("24-263.txt")
s = f.readline()
start = 0 # Начало текущей подстроки
zc = 0 # Количество символов ’Z’ в текущей подстроке
# Минимальная длина подстроки, в которой ’Z’ встречается не менее 120 раз
mn = 10000000050000000000
# Проходим по строке с помощью двух указателей (start и end)
for end in range(len(s)):
# Если текущий символ - ’Z’, увеличиваем счетчик zc
    if s[end] == ’Z’:
        zc += 1
# Если количество ’Z’ достигло 120, начинаем сдвигать начало подстроки
    while zc == 120:
# Если символ в начале подстроки - ’Z’, уменьшаем счетчик zc
        if s[start] == ’Z’:
            zc -= 1
# Обновляем минимальную длину подстроки, если текущая подстрока короче
        if end - start < mn:
            mn = end - start
        start += 1 # Сдвигаем начало подстроки вправо
print(mn + 1)

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