婷猪

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  14 随笔 :: 0 文章 :: 0 评论 :: 1477 阅读

您可以从外汇保证金交易中获取利润。 例如,如果您以每美元 100 日元的价格买入 1000 美元,并以每美元 108 日元的价格卖出,则可以获得 (108 - 100) × 1000 = 8000 日元。
你需要编写一个程序,读取一种货币在 t 时刻的价值Rt,然后输出RjRi的最大值(j>i)。

输入

第一行包含一个整数n(2n200000)。接下来n行,Rt(t=0,1,2,...,n1)按顺序给出,1Rt109。

输出

在一行中输出最大值。

输入样例

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;
}
posted on   婷猪  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示