18770 差值最大

18770 差值最大

Description

一个长度为N的整数序列,找出两个数x和y使x-y的值最大。
要求在序列中x必须在y的右侧。

输入格式

第一行是一个正整数N,表示了序列的长度(0<=N<=200000)。
第二行包含N个绝对值不大于10000的整数ai。

输出格式

一个整数,为最大的差值。数据确保结果在类型int范围内。

输入样例

7
4 -4 3 -1 2 -4 3

输出样例

7

作者 30002692

#include <algorithm> // minmax函数
#include <iostream>
using namespace std;

int n, j, Min = 100001, Max = -100001; // 初始化 Max和 Min

int main () {
    cin >> n;
    for (int i = 1; i <= n; i ++) {
        cin >> j;
        Min = min(Min, j); // 更新 Min(所有数中最小值)
        Max = max(Max, j - Min); // 更新Max(最大的差值)
    }
    cout << Max << endl;
    return 0;
}

Mark

直接找到最小值,然后找到每个数减该数的最大值

版权声明:本文为 溪月阁 | MoBrook 博主「 皓月 」的原创文章遵循用 CC BY-NC-SA 4.0 版权协议进行许可,转载请附上原文出处链接及本声明。

本文链接https://mobrook.cn/index.php/scau-18770/

上一篇:

没有了,已经是最新文章