n =int(input())
nums =list(map(int,input().split()))
pre = nums[0]
res = nums[0]for i inrange(1, n):if pre >0:
pre = pre + nums[i]else:
pre = nums[i]
res =max(pre, res)print(res)
连续子数组的最大乘积
题目描述
输入一个长度为 n 的整型数组 nums,数组中的一个或连续多个整数组成一个子数组。求所有子数 组的乘积的最大值。 1.子数组是连续的,且最小长度为 1 ,最大长度为 n 2.长度为 1 的子数组,乘积视为其本身,比如 [4] 的乘积为 4 3.该题的数据保证最大的乘积不会超过 int 的范围,即不超过232-1 数据范围: 1 <= n <= 2*105 -100 <= a[i] <= 100
n =int(input())
nums =list(map(int,input().split()))
res = nums[0]
maxNum, minNum = nums[0], nums[0]for num in nums[1:]:
n1, n2 = num * maxNum, num * minNum
maxNum =max(n1, n2, num)
minNum =min(n1, n2, num)
res =max(res, maxNum)print(res)