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