СПРОСИ ПРОФИ

«ШТРИХ» Центр

Информатика, обучение программированию, ЕГЭ по информатике, ОГЭ по информатике, ГВЭ-9 по информатике, …
Выполнено заказов: 43, отзывов: 32, оценка: 4,86+
Россия, Москва
Вопросов0
Ответов 2
Рейтинг 0

Ответы:


👍
0
👎

Ответ на «Олимпиадная задача по С++»

А дальше уже находишь максимальное значение суммы среди всех получившихся.

«ШТРИХ» Центр   26 сен 2022 16:26  
👍
0
👎

Ответ на «Олимпиадная задача по С++»

Такая задача есть в ЕГЭ.
Суть в том, чтобы исключить из последовательности чисел отрицательные элементы, которые будут в текущей сумме давать значение меньше, чем следующее значение, а также отрицательную сумму.

Например:

1, 2, -3, 5, -8, 10, 3, 5, -4, -6.

В данной задаче первую максимальную сумму мы получим в виде 3 (1 + 2). Дальше нам не выгодно прибавлять -3. Дальше максимальная сумма будет равна 5. И снова нам невыгодно начинать с -8, поэтому убираем ее. Ну и далее 10 + 3 + 5 = 18.

Максимальная последовательность: 10, 3, 5.

То есть идет проверка условием: Если (текущее значение + предыдущее > сумма элементов до текущего) и (текущая сумма > 0), то прибавляем, иначе идет отсчет заново с текущего числа.

Задача с Решу ЕГЭ: https://inf-ege.sdamgia.ru/problem?id=33488

«ШТРИХ» Центр   26 сен 2022 16:25  
ASK.PROFI.RU © 2020-2026