1 条题解

  • 0
    @ 2025-4-9 20:51:18

    题解:

    贪心

    观察算式 (ab)c(a - b) * c ,发现对于特定的 c ,只要找到最大的 a-b 就可以求出最大值。

    逐个读取数据时,通过更新 maxamaxd 的值更新 aa-b 的最大值,然后枚举 c 就可以求出最大值了。

    #include <bits/stdc++.h>
    #define ll long long
    using namespace std;
    int main() {
        ll ans = 0, maxa = 0, maxd = 0, n, c;
        cin >> n;
        for (int i = 0; i < n; i++)
        {
            cin >> c;
            ans = max(ans, maxd * c);
            maxd = max(maxd, maxa - c);
            maxa = max(maxa, c);
        }
        cout << ans;
        return 0;
    }
    
    • 1

    信息

    ID
    383
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    (无)
    递交数
    51
    已通过
    12
    上传者