最大乘积(Maximum Product, UVa 11059)枚举

输入n个元素组成的序列S,你需要找出一个乘积最大的连续子序列。如果这个最大的乘积不是正数,应输出0(表示无解)。1≤n≤18,-10≤Si≤10。
样例输入:
3
2 4-3
5
2 5 -1 2 -1
样例输出:
8
20
【分析】
连续子序列有两个要素:起点和终点,因此只需枚举起点和终点即可。由于每个元素的绝对值不超过10且不超过18个元素,最大可能的乘积不会超过1018,可以用long long存储.

#include 
using namespace std; 

int main(int argc, char** argv) {
	int n,cnt=0;
	int a[18];	
	while(cin>>n){
		for(int i=0;i>a[i];
		long long maxn=0;
		for(int i=0;i

 

你可能感兴趣的:(算法竞赛入门经典(第二版),暴力搜索)