/*
* 题意:输入n的元素组成的序列S,找出一个乘积最大的连续子序列,如果这个最大的乘积不是0,应输出0表示无解
* 分析:乘积最大连续子序列,枚举起始点即可,因为数据非常小,直接暴力
*/
#include<cstdio>
using namespace std;
int main(){
int a[19];
int n,Case=0;
while(scanf("%d",&n)!=EOF){
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
long long Max=-0x3f3f3f3f;
for(int i=1;i<=n;i++)
for(int j=i;j<=n;j++){
int t=i;
long long ans=1;
while(t<=j)
ans *= a[t++];
if(ans>Max) Max=ans;
}
if(Max<0) printf("Case #%d: The maximum product is %lld.\n\n",++Case,0);
else printf("Case #%d: The maximum product is %lld.\n\n",++Case,Max);
}
return 0;
}
Uva oj 11059 Maximum Product(简单枚举)
最新推荐文章于 2021-04-08 20:46:26 发布