#== Скользящее окно ==#
with open('2428.txt') as file:
data = file.readline()
left = 0
count_y = 0
count_2025 = 0
max_len = 0
for right in range(len(data)):
# Добавляем символ справа
if data[right] == 'Y':
count_y += 1
# Проверяем новую подстроку 2025
if right >= 3 and data[right-3:right+1] == '2025':
count_2025 += 1
# Если Y стало слишком много — уменьшаем окно
while count_y > 80:
# Удаляем Y слева
if data[left] == 'Y':
count_y -= 1
# Удаляем 2025, если она начиналась в left
if data[left:left+4] == '2025':
count_2025 -= 1
left += 1
# Проверяем подходящее окно
if count_y == 80 and count_2025 >= 90:
max_len = max(max_len, right - left + 1)
print(max_len)
#== Метод поиска границ ==#
with open('2428.txt') as file:
data = file.readline()
y_pos = []
for i in range(len(data)):
if data[i] == 'Y':
y_pos.append(i)
max_len = 0
for i in range(len(y_pos) - 79):
first = y_pos[i]
last = y_pos[i + 79]
# левая граница
if i == 0:
left = 0
else:
left = y_pos[i - 1] + 1
# правая граница
if i + 80 >= len(y_pos):
right = len(data) - 1
else:
right = y_pos[i + 80] - 1
substr = data[left:right + 1]
if substr.count('2025') >= 90:
max_len = max(max_len, len(substr))
print(max_len)