Python
s = open('24_28765.txt').readline()
m = 5 # максимум
for l in range(len(s)):
for r in range(l + m, len(s)):
c = s[l:r+1]
if c.count('BC') > 180: # меняем условие под задачу
break
else:
m = max(m, len(c))
print(m) Способ 2
# Способ 1 — счётчик
f = open('24.txt')
s = f.readline()
k = m = 0
for i in range(len(s)-1):
if s[i] in 'ABC' and s[i+1] not in 'ABC':
k += 1
m = max(k, m)
else:
k = 0
print(m)
# Способ 2 — регулярки
from re import *
pattern = r'(?:[1-9][0-9]*|0)(?:[-*][0-9]+)*'
print(max(map(len, findall(pattern, s)))) 📚 Теория
Обработка текстовых данных. Двойной цикл Кабанова — универсальный метод.