Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача №24 егэ по информатике

Амир Галлямов Ученик (143), на голосовании 1 неделю назад
Помогите пожалуйста решить задачу!
Текстовый файл размером 107 символов содержит только заглавные латинские буквы D, R, A, G, O, N. Определите максимальную длину подпоследовательности, в которой каждая из гласных букв (А, О) встречается не более 100 раз.Вот мой код, ответ выдаёт неверный, может подскажите что исправить
Дополнен 1 месяц назад
Вот так выглядит файл
Голосование за лучший ответ
Даниил Мастер (1014) 1 месяц назад
 with open('24_prob.txt', 'r', encoding='utf-8') as f: 
text = f.read().strip()

count_A = text.count('A')
count_O = text.count('O')
count_consonants = len(text) - count_A - count_O

max_len_subseq = count_consonants + min(count_A, 100) + min(count_O, 100)
print(max_len_subseq)
Амир ГаллямовУченик (143) 1 месяц назад
Даниил, неправильный ответ
Dmitry Просветленный (23072) 1 месяц назад
Исправлять смысла нет, всё равно долго выполняется. Навскидку, вот такое решение:
 with open('24_prob.txt') as f:
text = f.readline().strip()
cntA = cntO = max_len = j = 0
for i in range(len(text)):
cntA += text[i] == 'A'
cntO += text[i] == 'O'
while cntA > 100 or cntO > 100:
cntA -= text[j] == 'A'
cntO -= text[j] == 'O'
j += 1
max_len = max(max_len, i - j + 1)
print(max_len)
Похожие вопросы