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

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

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

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

Приложения:

Ответы

Ответ дал: Аноним
2

#include <iostream>

#include <vector>

using namespace std;  

int main() {

   vector<int> ladder;

   int size, sum = 0;

   cin >> size;

   ladder.resize(size);

   for (int i = 0; i < size; ++i) {

       cin >> ladder[i];

   }

   for (int i = 0; i < size; ++i) {

       if (i + 1 < size && ladder[i] < 0) { // ladder[i] + ladder[i+1] < ladder[i + 1]

           sum += ladder[i + 1];

           ++i;

       }

       else {

           sum += ladder[i];

       }

   }

   cout << sum;

}

Вас заинтересует