Submission
Status:
[PPPPPPPPPPPPP]
Score: 100
User: mydKN
Problemset: ซื้อขายหุ้นซีเค
Language: cpp
Time: 0.017 second
Submitted On: 2025-03-31 11:54:04
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const ll maxn = 1e5 + 5;
ll n;
ll arr[maxn];
ll memo[maxn][2];
ll solve(ll idx, ll cnt){
if(idx >= n) return 0;
if(memo[idx][cnt] != -1) return memo[idx][cnt];
ll mx = 0;
mx = max(mx, solve(idx+1, cnt));
if(!cnt) mx = max(mx, solve(idx+1, 1) - arr[idx]);
else mx = max(mx, solve(idx+1, 0) + arr[idx]);
return memo[idx][cnt] = mx;
}
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);
cin >> n;
for(ll i=0;i<n;++i){
cin >> arr[i];
}
memset(memo, -1, sizeof(memo));
cout << solve(0, 0);
}