注意一个数字的情况也算。 uva上有测试数据,可以参考。
#include<cstdio>
#include<cstring>#include<iostream>
#include<algorithm>
using namespace std;
int a[50];
int main(){
int N,kase=1;
while(scanf("%d",&N)!=EOF){
for(int i=1;i<=N;i++)
scanf("%d",&a[i]);
long long maxn=0,ans=1;
for(int i=1;i<=N;i++)
for(int j=i;j<=N;j++){
ans=1;
for(int n=i;n<=j;n++)
ans*=a[n];
if(maxn<ans) maxn=ans;
}
cout<<"Case #"<<kase++<<": The maximum product is "<<maxn<<"."<<'\n'<<'\n';
}
return 0;
}