题目 1417

最大利润(Maximum Profit)

查看题解 ↗GitHub ↗如何评测
题号
1417
时间限制
1000 ms
内存限制
128 MB
标签
前缀最小值枚举
来源
Aizu Online Judge ALDS1_1_D

【题目描述】

外汇保证金交易可以通过兑换不同国家的货币来获得汇率差价带来的利润。

例如,在 1 美元 100 日元时买入 1000 美元,等价格变动到 1 美元 108 日元时卖出,可以获得 (108−100)×1000=8000(108 - 100) \times 1000 = 8000 日元的利润。

现在给出某种货币在时刻 tt(t=0,1,2,…,n−1t = 0, 1, 2, \dots, n-1)的价格 RtR_t,请求出价格差 Rj−RiR_j - R_i(其中 j>ij > i)的最大值。

【输入】

第一行一个整数 nn。

接下来 nn 行,按顺序给出 RtR_t(t=0,1,2,…,n−1t = 0, 1, 2, \dots, n-1),每行一个整数。

【输出】

输出最大值,占一行。

【数据范围】

2⩽n⩽2000002 \leqslant n \leqslant 200000

1⩽Rt⩽1091 \leqslant R_t \leqslant 10^9

【输入样例 1】

文本
6
5
3
1
3
4
3

【输出样例 1】

文本
3

【输入样例 2】

文本
3
4
3
2

【输出样例 2】

文本
-1

【提示】

注意利润可能为负数:当价格一路下跌时,最优的做法仍然必须先买后卖,此时最大差值就是最小的负数(如样例 2)。

【来源】

Aizu Online Judge — ALDS1_1_D Maximum Profit

数据下载

题目 1417 的公开数据

正在读取文件列表…

常用命令

题目 1417 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。