# Работает долго!
import re
with open('2404.txt', 'r') as file:
data = file.readline()
pattern = r'([^T]*)(?=((?:T[^T]*){100}))'
matches = re.findall(pattern, data)
res = max([len(match[0] + match[1]) for match in matches])
print(res)
with open('2404.txt', 'r') as file:
data = file.readline()
lt = 0
max_len = 0
cnt = 0
for rt in range(len(data)):
# Если правая граница это 'T', увеличиваем счётчик
if data[rt] == 'T':
cnt += 1
# Пока количество 'T' больше 100, сдвигаем левый указатель
while cnt > 100:
if data[lt] == 'T':
cnt -= 1
lt += 1
# Если количество 'T' равно 100, обновляем максимальную длину
if cnt == 100:
max_len = max(max_len, rt - lt + 1)
print(max_len)