AcWing 1058. 股票买卖 V

2020-10-16  本文已影响0人  来到了没有知识的荒原

AcWing 1058. 股票买卖 V

状态机模型


#include<bits/stdc++.h>
using namespace std;
const int N=100010;
int w[N],f[N][3];
//0:无股票 1:有股票 2:冷冻期
int main(){
    int n;
    cin>>n;
    for(int i=0;i<n;i++)cin>>w[i];
    memset(f,-0x3f,sizeof f);
    f[0][0]=0;
    for(int i=1;i<=n;i++){
        f[i][0]=max(f[i-1][0],f[i-1][2]);
        f[i][1]=max(f[i-1][1],f[i-1][0]-w[i-1]);
        f[i][2]=max(f[i-1][2],f[i-1][1]+w[i-1]);
    }
    
    cout<<max(f[n][0],f[n][2]);
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读