题面
您可以从外汇保证金交易中获取利润。 例如,如果您以每美元 100 日元的价格买入 1000 美元,并以每美元 108 日元的价格卖出,则可以获得 (108 - 100) × 1000 = 8000 日元。
你需要编写一个程序,读取一种货币在 t 时刻的价值Rt,然后输出Rj−Ri的最大值(j>i)。
输入
第一行包含一个整数n(2≤n≤200000)。接下来n行,Rt(t=0,1,2,...,n−1)按顺序给出,1≤Rt≤109。
输出
在一行中输出最大值。
输入样例
6 5 3 1 3 4 3
输出样例
3
#include<iostream>
#include<cmath>
#include<algorithm>
#define max1 200000
#define minn -9999999999
#define maxn 9999999999
typedef long long ll;
using namespace std;
int main()
{
ll Max=minn;
ll Min=maxn;
ll a[max1];
ll n;
cin>>n;
for(ll i=0;i<n;i++)
{
cin>>a[i];
Max=max(Max,a[i]-Min);
Min=min(Min,a[i]);
}
cout<<Max<<endl;
//system("pause");
return 0;
}