UVA-11059 Maximum Product

xiaoxiao2021-02-28  127

题意:输入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; }

转载请注明原文地址: https://www.6miu.com/read-26788.html

最新回复(0)