E22 线性DP 股票买卖

视频链接:https://www.bilibili.com/video/BV1iK4y177jT/

 

#include<iostream>
#include<cstring>
using namespace std;
const int N = 100010;
int w[N],f[N][2];
int n;

int main(){
  scanf("%d", &n);
  for(int i=1;i<=n;i++) scanf("%d",&w[i]); 
     
  f[0][0]=0; f[0][1]=-1e6;
  for(int i=1; i<=n; ++i){
    f[i][0]=max(f[i-1][0],f[i-1][1]+w[i]);    
    f[i][1]=max(f[i-1][1],f[i-1][0]-w[i]);
  }
  cout<<f[n][0];
}

 

posted @ 2023-04-10 10:08  董晓  阅读(344)  评论(0编辑  收藏  举报