Задание №6527. Файл, необходимый для выполнения задания: ссылка для скачивания. Текстовый файл состоит из десятичных цифр и заглавных букв латинского алфавита. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых подстрока 2025 встречается не менее 90 раз и при этом содержится ровно 80 букв Y. В ответе запишите число – количество символов в найденной последовательности. Для выполнения этого задания следует написать программу.

Задание №6527.
Создание собственной программы. ЕГЭ по информатике

Файл, необходимый для выполнения задания: ссылка для скачивания.

Текстовый файл состоит из десятичных цифр и заглавных букв латинского алфавита. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых подстрока 2025 встречается не менее 90 раз и при этом содержится ровно 80 букв Y.

В ответе запишите число – количество символов в найденной последовательности.

Для выполнения этого задания следует написать программу.

Пояснение:
Решим задание, написав программу на языке программирования Python.

def find_max_substring_length(filename):
    with open(filename, 'r') as f:
        data = f.read().strip()

    n = len(data)
    max_len = 0

    left = 0
    count_2025 = 0
    count_Y = 0

    for right in range(n):
        # Добавляем текущий символ
        if data[right] == 'Y':
            count_Y += 1

        # Проверяем, не начинается ли "2025" в позиции right-3
        if right >= 3 and data[right-3:right+1] == '2025':
            count_2025 += 1

        # Сдвигаем левый указатель, пока условия нарушены
        while left <= right and (count_Y > 80 or count_2025 < 90):
            if data[left] == 'Y':
                count_Y -= 1
            # Проверяем "2025", начиная с left
            if left + 3 <= right and data[left:left+4] == '2025':
                count_2025 -= 1
            left += 1

        # Если условия выполняются, обновляем max_len
        if count_2025 >= 90 and count_Y == 80:
            max_len = max(max_len, right - left + 1)

    return max_len

result = find_max_substring_length("input.txt") # замените на имя вашего файла
print(result)

Таким образом, 2981 — количество символов в найденной последовательности.

Показать ответ

Источник: Демонстрационный вариант ЕГЭ — 2026
Сообщить об ошибке


Тест с похожими заданиями