您可以从外汇保证金交易中获取利润。 例如,如果您以每美元 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>
using namespace std;
int main(void)
{
int n;
cin>>n;
int*a=(int*)malloc(n*sizeof(int));
int*p=a;
for(int i=0; i<n; i++)
cin>>*p++;
/*复杂度 O(n^2) 内外循环遍历所有可能情况
int max=a[n-1]-a[0];
for(int i=n-1; i>0; i++)
{
for(int j=0; j<i; j++)
{
if( (a[i]-a[j])>max )
max=a[i]-a[j];
}
}
cout<max;
*/
//优化,在遍历过程中随手记录最小值,在此基础上相减,比较
int min=*a, max=-20000;
p=a;
for(int i=0; i<n; i++)
{
if(*p<min)
min=*p;
if( (*p-min)>max )
max=*p-min;
p++;
}
cout<<max;
free(a);
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】