Предмет: Информатика,
автор: Lelinda
СРОЧНО!!! Лесенка 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;
}
Похожие вопросы
Предмет: Английский язык,
автор: люблюпеченьки1
Предмет: Русский язык,
автор: фариза3
Предмет: Окружающий мир,
автор: лика186
Предмет: Русский язык,
автор: seva0606
Предмет: Математика,
автор: lol1234567892