输入$n$个元素组成的序列$S$,找出一个乘积最大的连续子序列。如果这个最大的乘积不是正数,输出0。$1 <=n <= 18,-10 <= S_i <= 10$。
链接
题解
连续子序列有两个要素:起点和终点。因此枚举起点和终点即可。
注意用long long存储。
代码
1 | /* |
循环枚举部分还可以写成这种稍难理解但简单的形式:
1 | for(int i = 0; i < n; i++){ |
To make the world a better place
输入$n$个元素组成的序列$S$,找出一个乘积最大的连续子序列。如果这个最大的乘积不是正数,输出0。$1 <=n <= 18,-10 <= S_i <= 10$。
连续子序列有两个要素:起点和终点。因此枚举起点和终点即可。
注意用long long存储。
1 | /* |
循环枚举部分还可以写成这种稍难理解但简单的形式:
1 | for(int i = 0; i < n; i++){ |