输入n个元素组成的序列S,你需要找出一个乘积最大的连续子序列。如果这个最大的乘积不是真数,应输出0(表示无解)。1≤n≤18,-10≤Si≤10。

样例输入:

3

2  4  -3

5

2  5  -1  2  -1

样例输出:

8

20

法一:动态规划

#include<iostream>
#include<vector>
using namespace std;
int main()
{vector<long long>num;int n;cin >> n;for (int i = 0; i < n; i++) {int temp;cin >> temp;num.push_back(temp);}long long ans = num[0];long long Max = num[0];long long Min = num[0];for (int i = 1; i < num.size(); i++) {int temp = Max;Max = max(max(Max * num[i],num[i]),Min * num[i]);Min = min(min(temp * num[i], num[i]), Min * num[i]);ans = max(ans, Max);}if (ans <= 0) {cout << 0;}else {cout << ans;}return 0;
}

法二:暴力求解

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{vector<long long>ans;vector<long long>num;int n;cin >> n;for (int i = 0; i < n; i++) {int temp;cin >> temp;num.push_back(temp);}for (int i = 0; i < n; i++) {long long temp = 1;for (int j = i; j < n; j++) {temp *= num[j];ans.push_back(temp);}}sort(ans.begin(), ans.end(), greater<int>());cout << ans[0];return 0;
}

刘汝佳 例题7-2 最大乘相关推荐

  1. 刘汝佳 例题7-1 除法(暴力解法)

    题目:输入正整数n,从小到大的顺序输出所有形如abcde/fghij = n的表达式,其中a~j恰好为数字0~9的一个排列(可以有前导0) ,2≤n≤79. 样例输入: 62 样例输出: 79546 ...

  2. 【刘汝佳代码详解】例题6-4破损的键盘(Broken Keyboard,UVa 11988)

    立志用最少的代码做最高效的表达 You're typing a long text with a broken keyboard. Well it's not so badly broken. The ...

  3. 刘汝佳《算法竞赛入门经典》---总结

    刘汝佳:<算法竞赛入门经典> 三步: 基本的数据结构+算法知识: 数论等数学基本知识: 锻炼联想建模能力.知识与实际相结合,解决实际问题! 第一章:程序设计入门 1.a/b 当a.b为整数 ...

  4. 算法竞赛入门经典(刘汝佳)——代码笔记

    Reference: <算法竞赛入门经典>(刘汝佳)第一版.第二版 ------------------------------------------------------------ ...

  5. (转)刘汝佳书上出现的一些题目

    推荐一些题目,希望对参与ICPC竞赛的同学有所帮助. POJ上一些题目在 http://162.105.81.202/course/problemSolving/   可以找到解题报告.        ...

  6. 刘汝佳紫书 uva1592

    刘汝佳上传的代码没耐心看...就大致照着书上写的思路写了一个...一开始发现全写错了耗了半天... 定义一个pair,这个pair里有存两个队,字符串对和int对.每每读入一行的时候看看map中是否存 ...

  7. [转]ACM-ICPC比赛随想——刘汝佳

    自己接触acm也这么久了,到底我们acmer这般为acm废寝忘食值不值得???个人觉得刘汝佳的这篇文章讲的非常好... 刘汝佳,1982年12月生,毕业于重庆外国语学校,清华大学计算机科学与技术系20 ...

  8. 刘汝佳《算法竞赛入门经典(第二版)》习题(三)

    刘汝佳<算法竞赛入门经典(第二版)>第三章习题(一) 习题3-1 得分(ACM/ICPC Seoul 2005,UVa1585) 给出一个由O和X组成的串(长度为1~80),统计得分.每个 ...

  9. 刘汝佳《算法竞赛入门经典(第二版)》习题(六)

    刘汝佳<算法竞赛入门经典(第二版)>第四章习题(4-1~4-3) 习题4-1 象棋(Xiangai,ACM/ICPC Fuzhou 2011,UVa1589) 考虑一个象棋残局,其中红方有 ...

最新文章

  1. python requests max retries_我可以为request.request设置max_retries吗?
  2. 一篇叫做决心书的文章
  3. Java学习笔记--StringTokenizer的使用
  4. Extjs 动态改变列名
  5. 10/100. Majority Element
  6. 征名公布|Qtum量子链企业版—Unita 中文名征集圆满落幕
  7. Angular的后院:组件依赖关系的解决
  8. java 2分钟_java开发中的那些事(5)--------一点经历,败给2分钟的2个小时
  9. AI「抄」代码无罪?GitHub Copilot拿用户的开源代码改一改就去挣钱!
  10. 在JSP页面中获取系统当前日期时间
  11. 棋牌游戏服务器架构: 详细设计(3) 数据库设计
  12. HDU2000 ASCII码排序【字符串排序】
  13. 最简单的c 语言打开串口程序,一个简单的串口程序
  14. 官网下载mysql连接驱动jar包教程
  15. 12平键标准尺寸规格表_平键标准尺寸规格表
  16. gtp java 文件传输_GitHub - zhmgczh/GTPService: 围棋GTP协议应用实例(一个自动对弈程序,命令行交互或命令行与GUI对弈)...
  17. 【MySql】mysql之用户管理
  18. python中excel处理及生成图表
  19. 常用技巧精选(一)尺取法
  20. 「Python循环结构」使用while循环实现基金投资

热门文章

  1. PHP毕业设计项目作品源码选题(8)电影院售票系统毕业设计毕设作品开题报告
  2. 微信小程序蓝牙BLE开发实战——案例(二)
  3. 关于二叉排序树的平均查找长度的计算
  4. 2023年科普新书大盘点:重磅新书,值得期待!
  5. #C++我的武器库系列#之远控核心技术实现
  6. 最详细的【微信小程序+阿里云Web服务】开发部署指引(四):搭建服务端数据库
  7. 一个BI就能做出的报告,你却用EXCEL和PPT花了好久
  8. 浅谈android手机联系人开发之增删查改
  9. 支付宝的架构到底有多牛逼?
  10. Python爬虫仅需一行代码,熟练掌握crawl第三方库