Текстовый файл состоит не более чем из \(10^6\) символов и содержит только заглавные буквы латинского алфавита. Определите максимальное количество идущих подряд символов, среди которых каждая из гласных букв \((A, \, E, \, I, \, O, \, U, \, Y)\) встречается не более восьми раз.
Решение:
Python
s = open('7193.txt').readline().strip()
vow = 'AEIOUY'
p_ch = {ch: [] for ch in vow}
count_ch = {ch: 0 for ch in vow}
ml = 0
p_begin = 0
for p in range(len(s)):
if s[p] in vow:
count_ch[s[p]] += 1
p_ch[s[p]].append(p)
if any(count_ch[ch] > 8 for ch in vow):
ml = max(ml, p - p_begin)
p_begin = p_ch[s[p]].pop(0) + 1
for c in vow:
p_ch[c] = [t for t in p_ch[c] if t >= p_begin]
count_ch[c] = len(p_ch[c])
ml = max(ml, len(s) - p_begin)
print(ml)
Ответ: \(291\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене