输入n个元素组成的序列S,你需要找出一个乘积最大的连续子序列。 如果这个最大的乘积不是正数,应输出0(表示无解)。
1≤n≤18,-10≤Si≤10。
样例输入:
3
2 4-3
5
2
5 -1 2 -1
样例输出:
8
20
#include<stdio.h>
int main(){
int n=0;
int data[18];
long long max=1;
while(scanf("%d",&n)!=EOF){
for(int i=0;i<n;i++ )
scanf("%d",&data[i]);
for(int i=0;i<n;i++){
long long multem=1;
for(int j=i;j<n;j++){
multem=multem*data[j];
if(multem>max)
max=multem;
}
}
if(max<0)
printf("0");
else
printf("%d\n",max);
}
}