Submission

Status:

[PP-SSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: tHeNyXs

Problemset: ซื้อขายหุ้นซีเค

Language: cpp

Time: 0.004 second

Submitted On: 2026-03-05 15:25:36

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
    ios_base::sync_with_stdio(false); cin.tie(nullptr);
    int n; cin >> n;
    ll p[n+1];
    for (int i = 1; i <= n; ++i) cin >> p[i];

    vector<ll> dp1(n+1, 0), dp2(n+1, 0);
    dp1[n] = p[n];
    dp2[1] = p[1];
    for (int i = n-1; i >= 1; --i) {
        dp1[i] = max(p[i], dp1[i+1]);
    }

    for (int i = 2; i <= n; ++i) {
        dp2[i] = min(dp2[i-1], p[i]);
    }

    // for (int i = 1; i <= n; ++i) cout << dp1[i] << " ";
    // cout << '\n';
    // for (int i = 1; i <= n; ++i) cout << dp2[i] << " ";

    ll ans = -1;
    for (int i = n; i >= 2; --i) { 
        for (int j = i-1; j >= 1; --j) {
            ans = max(ans, dp1[i] - dp2[j]);
        }
    }

    cout << ans;

    return 0;
}