Войти
или
Зарегистрироваться
Маркетплейс
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Онлайн Компилятор
Компилятор Python (lite)
Редактор HTML Code
Статья Автор:
Мастикова София
2
n = int(input()) a = list(map(int, input().split())) if n != 0: dp = [0] * (n+1) prev = [0]*(n+1) dp[1] = a[0] for i in range(2, n + 1): dp[i] = a[i-1] x = dp[i-1] prev[i] = i - 1 if i - 2 >= 0 and dp[i-2] < x: x = dp[i-2] prev[i] = i - 2 if i - 3 >= 0 and dp[i-3] < x: x = dp[i-3] prev[i] = i - 3 dp[i] += x if n >= 2: print(min(dp[n], dp[n-1], dp[n-2])) else: print(min(dp[n], dp[n-1])) k = n s = dp[n] if n >= 1 and dp[n-1] < dp[n]: k = n -1 s = dp[n-1] if n >= 2 and s > dp[n-2]: k = n - 2 s = dp[n-2] m = [] count = 0 while (k > 0): m.append(k) count+=1 k = prev[k] if len(m) == 0: m = [0] print(*sorted(m)) print(count) else: print(0) print(0) print(0)
×
Чтобы оставить комментарий нужна авторизация
Печать