if(s[j]+a>s2[ost]): IndexError: list index out of range . Вылетает ошибка. Как её можно исправить?
ans=0
n=int(input())
s=[0]*5
ost=0
mozhno=[True,False,False,False,False]
diff=0
for i in range(n):
a,b=[int(m) for m in input().split()]
s2=[]
mozhno2=[False]*5
for j in range (5):
if mozhno[j]==True:
ost=(s[j]+a)%5
if(s[j]+a>s2[ost]):
s2[ost] = s[j]+a
ost = (s[j] + b) % 5
if (s[j] + b > s2[ost]):
s2[ost] = s[j] + b
for j in range(5):
s[j]=s2[j]
mozhno[j]=mozhno2[j]
if mozhno[0]:
print(s[0])
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
у вас изначально s2 -пустой массив
s2=[]
вы его не пополняете через append, но обращаетесь по индексу
if (s[j] + b > s2[ost]):
отсюда и вылетает с ошибкой, что вне диапазона массива (массив пустой)
например массив s вы хотя бы сразу из 5 нулевых элементов сделали
s=[0]*5