Задача с сайта Полякова К. Ю.

скрин

идея решения такая же, как и в примере с короткой подстрокой

только теперь ищем максимальную подстроку, значит анализируем вывод элементов после создания списка

теперь забор у нас еще + два внешних прогала, значит: 80 + 81 = 161

скрин

к началу строки +3 символа SRQ, в конец строки +3 символа FSR 

2373 + 6 = 2379

код:

f = open('24-309.txt').readline().replace('FSRQ', '*FSRQ*').split('*')
print(f[:5])
mx = 0 # просто маленькое число
fprev = ''
fnext = ''
for i in range(0, len(f) - 161, 2):
    sm = sum([len(x) for x in f[i:i + 161]])
    if sm > mx:
        mx = sm
        fprev = f[i - 1]
        fnext = f[i + 161] # так как срез и индекс различаются
        

print(mx, fprev, fnext)

отдельно по срезу :

скрин

срез работает как range() - крайний правый элемент не входит

Last modified: Saturday, 28 June 2025, 5:12 PM