Написано: 17.03.2023

1413. Минимальное значение для положительной пошаговой суммы (Minimum Value to Get Positive Step by Step Sum)

easy

Задание.

Получен массив целых чисел nums, вы начинаете с начального положительного значения startValue.

На каждой итерации вы вычисляете пошаговую сумму startValue плюс элементы в nums (слева направо).

Верните минимальное положительное значение startValue таким образом, чтобы пошаговая сумма никогда не была меньше 1.

Пример 1.

Входные данные: nums = [-3,2,-3,4,2]

Результат: 5

Пояснение: Если вы выберете начальное значение = 4, то на третьей итерации ваша пошаговая сумма будет меньше 1.

step by step sum
startValue = 4 | startValue = 5 | nums
  (4 -3 ) = 1  | (5 -3 ) = 2    |  -3
  (1 +2 ) = 3  | (2 +2 ) = 4    |   2
  (3 -3 ) = 0  | (4 -3 ) = 1    |  -3
  (0 +4 ) = 4  | (1 +4 ) = 5    |   4
  (4 +2 ) = 6  | (5 +2 ) = 7    |   2

Пример 2.

Входные данные: nums = [1,2]

Результат: 1

Пояснение: Минимальное начальное значение удовлетворяет условиям.

Пример 3.

Входные данные: nums = [1,-2,-3]

Результат: 5

Решение.

class Solution {
public:
    int minStartValue(vector<int>& nums) {
        
    }
};

Способ решения.