№24 · решено
Пара BC ровно 190 раз
Текстовый файл. Файл из букв A–F. Найди максимальное число подряд идущих символов, среди которых пара BC встречается ровно 190 раз.
Источник: ФИПИ, № 29354
Скачать файл: task_29354_A.txt. В редакторе он уже лежит рядом с кодом, открывай как на экзамене: open('task_29354_A.txt').
Ответвпиши то, что вывела программа
Показать разбор
- Собери индексы всех вхождений BC.
- Возьми подряд 190 вхождений. Слева подстрока может начаться сразу после буквы B предыдущего вхождения, так оно разрывается.
- Справа подстрока может закончиться на букве B следующего вхождения, тогда и оно не считается.
- У самых крайних окон соседа нет: там граница это начало или конец файла. Перебери все окна и возьми наибольшую длину.
s = open('task_29354_A.txt').readline().strip()
indexes = []
for i in range(len(s) - 1):
if s[i:i + 2] == 'BC':
indexes.append(i)
mx = 0
for k in range(len(indexes) - 189):
start_i = indexes[k - 1] + 1 if k > 0 else 0
end_i = indexes[k + 190] if k + 190 < len(indexes) else len(s) - 1
mx = max(mx, end_i - start_i + 1)
print(mx)