Информатика, вопрос задал chebudelphin , 7 лет назад

На Python и C++ пожалуйста
Лесенка
Вова стоит перед лесенкой из N ступеней. На каждой из ступеней написаны произвольные целые числа. Первым шагом Вова может перейти на первую ступень или, перепрыгнув через первую, сразу оказаться на второй. Так же он поступает и дальше, пока не достигнет N-ой ступени. Посчитаем сумму всех чисел, написанных на ступенях, через которые прошёл Вова.

Требуется написать программу, которая определит оптимальный маршрут Вовы, при котором, шагая, он получит наибольшую сумму.

Входные данные

В первой строке содержится натуральное число N — количество ступеней лестницы (2≤N≤1000). Во второй строке через пробел заданы числа, написанные на ступенях лестницы, начиная с первой. Числа, написанные на ступенях, не превосходят по модулю 1000.

Выходные данные

Выведите наибольшее значение суммы.

Примеры
Ввод
Вывод
3
1 2 1
4
3
1 -1 1
2


kostyazhmur03: Могу сделать на с++, пайтон не знаю
kostyazhmur03: Не могу сделать так, чтобы вводило через пробел( Если вводить просто, то могу, а так...

Ответы на вопрос

Ответил rob357ot
3

Ответ:

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])

Объяснение:

ну у меня этот код прошел ну и все)))


rob357ot: поставьте пожалуйста оценки
rob357ot: на C++ пока ниту у меня так что так что ¯\_(ツ)_/¯
Новые вопросы