def solve(N: int, nums: list) -> int:
def max_product(arr):
mx = mn = ans = arr[0]
for x in arr[1:]:
if x < 0:
mx, mn = mn, mx
mx = max(x, mx * x)
mn = min(x, mn * x)
ans = max(ans, mx)
return ans
res = -10**18
i = 0
while i < N:
j = i
while j + 1 < N and abs(nums[j]) < abs(nums[j + 1]):
j += 1
res = max(res, max_product(nums[i:j + 1]))
i = j + 1
return res

August 2, 2026 2.2K