UVA-11059 Maximum Product

来源:互联网 发布:淘宝商品数据包下载 编辑:程序博客网 时间:2024/06/03 14:28

题意:输入n个正整数组成的序列S,找一个乘积最大的连续子序列,如果这个数不是正数,输出0。1<=n<=18,-10<=Si<=10。

分析:根据n的范围,可知计算量不大,直接暴力,算出所有子序列的乘积取最大值即可。

#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int maxn = 25;int a[maxn];int main () {    //freopen("in.txt","r",stdin);    int i,j,n,Case=1;    while(cin>>n) {        long long ans=0;        for(i=0; i<n; i++)            cin>>a[i];        for(i=0; i<n; i++) {            long long res=1;            for(j=i;j<n;j++){                res*=a[j];                ans=max(ans,res);            }        }        printf("Case #%d: The maximum product is %lld.\n\n",Case++,ans);    }    return 0;}

原创粉丝点击