52 冷冻期内的投资策略优化

2023-12-19 06:06:51

同动态规划

#include <iostream>

using namespace::std;
using std::cout;
using std::cin;

int n;
int prices[5100],dp[5100][4];

int zdlr(int n, int prices[]) 
{
    dp[0][0] = -prices[0];
    for(int i=1;i<n;i++)
	{
        dp[i][0] = max(dp[i-1][0],max(dp[i-1][3]-prices[i],dp[i-1][2]-prices[i]));
        dp[i][1] = dp[i-1][0] + prices[i];
        dp[i][2] = dp[i-1][1];
        dp[i][3] = max(dp[i-1][3],dp[i-1][2]);
    }
    return max(dp[n-1][3],max(dp[n-1][1],dp[n-1][2]));
}

int main()
{
	cin >> n;
	for(int i=0; i<n; i++)
	{
		cin >> prices[i];
	}
	std::cout << zdlr(n, prices);
    return 0;
}

文章来源:https://blog.csdn.net/qq_64654845/article/details/135072605
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。