Предмет: Информатика,
автор: chebudelphin
На Python и C++ пожалуйста
Лесенка
Вова стоит перед лесенкой из N ступеней. На каждой из ступеней написаны произвольные целые числа. Первым шагом Вова может перейти на первую ступень или, перепрыгнув через первую, сразу оказаться на второй. Так же он поступает и дальше, пока не достигнет N-ой ступени. Посчитаем сумму всех чисел, написанных на ступенях, через которые прошёл Вова.
Требуется написать программу, которая определит оптимальный маршрут Вовы, при котором, шагая, он получит наибольшую сумму.
Входные данные
В первой строке содержится натуральное число N — количество ступеней лестницы (2≤N≤1000). Во второй строке через пробел заданы числа, написанные на ступенях лестницы, начиная с первой. Числа, написанные на ступенях, не превосходят по модулю 1000.
Выходные данные
Выведите наибольшее значение суммы.
Примеры
Ввод
Вывод
3
1 2 1
4
3
1 -1 1
2
kostyazhmur03:
Могу сделать на с++, пайтон не знаю
Ответы
Автор ответа:
4
Ответ:
n=int(input())
a=list(map(int,input().split()))
dp=[0]
dp.append(a[0])
for i in range(n+1):
if i>=2:
dp.append(max(dp[i-1],dp[i-2])+a[i-1])
print(dp[n])
Объяснение:
ну у меня этот код прошел ну и все)))
Похожие вопросы
Предмет: Русский язык,
автор: шпион3
Предмет: Русский язык,
автор: Mishka787
Предмет: Русский язык,
автор: андрей845
Предмет: Алгебра,
автор: podkorytovserg
Предмет: Русский язык,
автор: yurec369