最大乘积
来源:互联网 发布:炫舞房间源码 编辑:程序博客网 时间:2024/05/17 02:39
输入n个元素组成的序列S,你需要找出一个乘积最大的连续子序列。如果这个最大的乘积不是正数,应输出-1(表示无解)。n>=1 n<=18 Si>=-10 Si<=10。
样列输入:
3
2 4 -3
5
2 5 -1 2 -1
样列输出:
8
20
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int main() {
int a[100];
int num;
while (cin >> num) {
for (int i = 0; i < num; ++i) {
cin >> a[i];
}
sort(a, a + num);
int size[100];
memset(size, 0, sizeof(size));
for (int i = 0; i < num; ++i) {
int temp = a[num - 1];
for (int k = num - 2; k >= i; --k) {
temp *= a[k];
}
size[i] = temp;
}
sort(size, size + num);
if (size[num - 1] < 0)
cout << "-1\n";
else
cout << size[num-1];
}
return 0;
}
- 最大乘积
- 乘积最大
- 乘积最大
- 乘积最大
- 乘积最大
- 最大乘积
- 最大乘积
- 最大乘积
- 最大乘积
- 最大乘积
- 乘积最大
- 乘积最大
- 最大乘积
- 乘积最大
- 乘积最大
- 乘积最大
- 最大乘积
- 最大乘积
- ubuntu下安装gcc
- C++读取文件中有逗号的数据
- 为方便ATS管理建立的一些命令别名
- 大数的加法
- 反转数字
- 最大乘积
- poj 3384 Feng Shui(内推进半平面交+最远点对)
- Python: Sort a dictionary by value
- Python 学习入门(25)—— 闭包
- 项目的执行--有偏差随意调整计划可能会导致项目的失败
- Hive用户指南
- hibernate中用hql怎么执行delete的sql语句
- qt槽函数中,窗口镶嵌窗口的问题,求解
- ats新手学习参考