求最大连续子序列乘积,由于规模小,暴力情况下恰好不会超时,所以直接暴力解了。
句末有逗号和连续换行。
#include<cstdio>
long long maxm;
void solve(int a[], int num)
{
int begin, end;
long long mul;
maxm = a[0];
for(begin = 0; begin < num; begin ++)
{
for(end = begin; end < num; end ++)
{
mul = 1;
for(int i = begin; i <=end; i++)
mul *= a[i];
if(mul > maxm)
maxm = mul;
}
}
}
int main()
{
int n,s[11],kase = 0;
while(scanf("%d",&n) == 1)
{
maxm = 0;
for(int i = 0; i < n; i++)
scanf("%d",&s[i]);
solve(s,n);
printf("Case #%d: The maximum product is %ld.\n\n",++kase, maxm>0?maxm:0);
}
return 0;
}