A1-2017级算法上机第一次练习赛 G 股票交易

题目描述

一般一家公司的股票价格是不稳定的,就像图里所展示的这样,每时每刻的价格都在变。(图片来源网络)

现在,有一份很长很长的连续时间点股票价格数据(按时间从先到后顺序),老板需要你快速的寻找在这段数据范围内一次买卖股票的每股最大收益(假设所有人买卖股票都在给定时间点的数据范围内)。

要想解决这个问题,你该怎么办?

输入

多组测试数据(10组左右),以EOF结尾。

每组测试数据分为两行第一行为数组长度n,正整数,代表股票价格数据长度,数据范围为0<n<=1000000

第二行为n正整数,为股票价格数据数组an,保证数组中每个数在int范围内。

输出

对于每次查询,输出一行,每行一个数,代表所求每股最大收益。

若无论如何都无法取得收益,则输出No solution

具体参见样例。

输入样例

5
1 2 3 4 2
2
2 2

输出样例

3
No solution

样例解释

关于第一组数据,假定第一分钟价格为1,第二分钟价格为2,第三分钟价格为3,第四分钟价格为4,第五分钟价格为2。这段时间内买入卖出的最大收益方案是在第一分钟以价格1买进、第四分钟以价格4卖出,收益为每股3个单位。

思路

posted @ 2018-12-26 23:36  zzer  阅读(167)  评论(0编辑  收藏  举报