看清楚题意,连续的子序列,不能从小到大排序再乘。
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<string>
#include<math.h>
#include<algorithm>
using namespace std;
int main()
{
long long max,max1;//注意范围
int N,i,y=0;
while(~scanf("%d",&N)){
y++;
int z[20];
for( i=0;i<N;i++){
cin>>z[i];
}
max=0;//最小值为0
for(int j=0;j<N;j++){
max1=1;
for( i=j;i<N;i++){
max1*=z[i];
if(max1>max) max=max1;
}
}
printf("Case #%d: The maximum product is %lld.\n\n",y,max);//注意格式
}
return 0;
}