问题 C: 股票买卖I

内存限制:64 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:446 通过:257

题目描述

给定一个长度为 N 的数组,数组中的第 i 个数字表示一个给定股票在第 i 天的价格。

如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。

注意你不能在买入股票前卖出股票。

输入格式

第一行包含整数 N,表示数组长度。

第二行包含 N 个不大于 109 的正整数,表示完整的数组。

输出格式

输出一个整数,表示最大利润。

数据范围

1≤N≤105,

输入样例1:

6
7 1 5 3 6 4

输出样例1:

5

输入样例2:

5
7 6 4 3 1

输出样例2:

0

样例解释

样例1:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为你不能在买入股票前卖出股票。

样例2:在这种情况下, 不进行任何交易, 所以最大利润为 0。

输入格式

第一行一个n,表示n天(小于100000)
第二行 给出n天每股的价格

输出格式

每股最多赚多少钱

输入样例 复制

4
947 267 359 771

输出样例 复制

504