Вам предоставляется список n номеров L=<a_1, a_2,...a_n>
. Каждый из них
либо 0, либо формы +/- 2 k 0 <= k <= 30. Описать и реализовать
алгоритм, который возвращает наибольший продукт НЕПРЕРЫВНОГО СУБСИСТА
p=a_i*a_i+1*...*a_j, 1 <= i <= j <= n
.
Например, для ввода <8 0 -4 -2 0 1>
он должен вернуть 8 (либо 8
или (-4) * (- 2)).
Вы можете использовать любой стандартный язык программирования и можете предположить, что
список указан в любой стандартной структуре данных, например. int[]
vector<int>
, List<Integer>
и т.д.
Какова вычислительная сложность вашего алгоритма?