【题目描述】

最近越来越多的人都投身股市,阿福也有点心动了。谨记着“股市有风险,入市需谨慎”,阿福决定先来研究一下简化版的股票买卖问题。

假设阿福已经准确预测出了某只股票在未来N天的价格,他希望买卖两次,使得获得的利润最高。为了计算简单起见,利润的计算方式为卖出的价格减去买入的价格。

同一天可以进行多次买卖。但是在第一次买入之后,必须要先卖出,然后才可以第二次买入。

现在,阿福想知道他最多可以获得多少利润。

【输入】

输入的第一行是一个整数T(T≤50),表示一共有T组数据。

接下来的每组数据,第一行是一个整数N(1≤N≤100,000),表示一共有N天。第二行是 N 个被空格分开的整数,表示每天该股票的价格。该股票每天的价格的绝对值均不会超过1,000,000。

【输出】

对于每组数据,输出一行。该行包含一个整数,表示阿福能够获得的最大的利润。

【输入样例】

3
7
5 14 -2 4 9 3 17
6
6 8 7 4 1 -2
4
18 9 5 2

【输出样例】

28
2
0

【源程序】

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<vector>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 100001
#define MOD 100001
#define E 1e-12
using namespace std;
int a[N],f1[N],f2[N];
int main()
{int t,ans;scanf("%d",&t);while(t--){int n;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&a[i]);int minn=INF,maxx=-INF;f1[0]=0;f2[n+1]=0;for(int i=1;i<=n;i++){minn=min(minn,a[i]);f1[i]=max(f1[i-1],a[i]-minn);}for(int i=n;i>=1;i--){maxx=max(maxx,a[i]);f2[i]=max(f2[n+1],maxx-a[i]);}int ans=-INF;for(int i=1;i<=n;i++)ans=max(ans,f1[i]+f2[i]);printf("%d\n",ans);}return 0;
}

股票买卖(信息学奥赛一本通-T1302)相关推荐

  1. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  2. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  3. 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...

  4. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”

    董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...

  5. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

  6. 《信息学奥赛一本通提高篇》第6章 组合数学

    例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...

  7. 《信息学奥赛一本通 提高篇》

    提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...

  8. 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分

    信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分 信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分_mrcrack的博客-CSDN博客_信息学奥赛一本通 ...

  9. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

最新文章

  1. 更改Jenkins升级站点
  2. 老咸鱼今天告诉你用Python matplotlib 各种图绘制流线图,难怪老板放纵他
  3. seaborn系列 (14) | 条形图barplot()
  4. CloudStack API编程指南
  5. Centos6.3下apache+svn部署web版本同步
  6. 决定把BLOG的文章从CU上同步过来
  7. keil 在项目栏总有个叉_老股民的热心分享:均线金叉死叉买卖定式”,散户值得一看!...
  8. 关于Web报表FineReport打印的开发应用案例
  9. This application failed to start because it could not find or load the Qt platform plugin xcb in
  10. 怎么merge分支_实战 Git 分支策略
  11. 更换锁定计算机图片,电脑锁屏图片怎么设置
  12. 实践平台linux,关于构造Linux系统实践平台的设想
  13. 第一部分 走进Java
  14. 150分试卷c语言,连续5道C语言题目一共送150分啊,题目2.一个农场有头母牛,现 爱问知识人...
  15. 【车牌识别】基于matlab GUI BP神经网络车牌识别(带语音播报)【含Matlab源码 668期】
  16. Exception occurred. (Exception from HRESULT: 0x80020009 (DISP_E_EXCEPTION)) | nuget管理器所引发的的错误
  17. 数值积分 (一)| 基本思想 + 一般求积公式
  18. php sphinx配置,sphinx的配置和管理
  19. R语言创建空数据框(Empty Data Frame )用于追加数据
  20. 跳跳棋(国家集训队,LCA,洛谷P1852,BZOJ[2144])

热门文章

  1. wordcloud里面设置mask加载不出来词频_一条龙搞定情感分析:文本预处理、加载词向量、搭建RNN
  2. 《深入理解 Java 虚拟机》把这个知识点讲错了?
  3. 我们到底为什么要用 IoC 和 AOP
  4. Redis夺命连环11问
  5. 阿里大数据中台12年建设经验的精华总结!一次性说清!
  6. 小白也可以玩转的炫酷大屏!
  7. JEECG近期会开展培训公开课
  8. WebSocket知识点总结
  9. 5.Servlet 对象(request-response)
  10. 可穿戴在线展持续升温:聚焦产业热点 畅谈核心技术发展