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;
}