您的位置:首页 > 其它

uva 11059 Maximum Product

2017-08-07 21:54 387 查看
题目解析:

题目的意思十分简单,首先输入一个数n,紧接着下面输入n个数,求子串的最大乘积,如果最大乘积小于0,直接输出0;

题目解析:

这是一个简单的模拟题,十分的水就不多说了

代码;

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn=20;
int main() {
// freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
int n,a[maxn];
long long ans[maxn][maxn];
int cas=0;
while(cin>>n&&n) {
cas++;
for(int i=1; i<=n; i++)
cin>>a[i];

for(int i=0; i<=n; i++)
for(int j=1; j<=n; j++)
ans[i][j]=1;
long long max_a=-10000000000;
for(int i=1; i<=n; i++)
for(int j=i; j<=n; j++)
for(int k=i; k<=j; k++) {
ans[i][j]*=a[k];
if(max_a<ans[i][j])
max_a=ans[i][j];
}

// for(int i=1; i<=n; i++)
// for(int j=1; j<=n; j++)
if(max_a>0)cout<<"Case #"<<cas<<": The maximum product is "<<max_a<<"."<<endl;
else cout<<"Case #"<<cas<<": The maximum product is "<<"0"<<"."<<endl;
cout<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: