Submission
Status:
[PPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: raidina
Problemset: ซื้อขายหุ้นซีเค
Language: cpp
Time: 0.040 second
Submitted On: 2026-03-06 20:14:22
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 100002;
long long n,a[N],dp[N],sum;
bool ok[N];
int main(){
cin >> n;
for(int i = 1;i<=n;i++){
cin >> a[i];
}
for(int i = 1;i<=n;i++){
//cout << i << '\n';
if(ok[i]){
//cout << "me\n";
if(a[i] > a[i+1]){
ok[i+1]=false;
dp[i]=dp[i-1]+a[i];
//cout << "s" << '\n';
}
else{
ok[i+1]=ok[i];
dp[i]=dp[i-1];
}
}
else{
//cout << "mm\n";
if(a[i]<a[i+1]){
dp[i]=dp[i-1]-a[i];
ok[i+1]=true;
//cout << "b" << '\n';
}
else{
ok[i+1]=ok[i];
dp[i]=dp[i-1];
}
}
}
cout << dp[n];
}