n=int(input())
performance=list(input().split())
kd=list(input().split())
k=int(kd[0])
d=int(kd[1])
dp=[[0]*n for _ in range(k)]
dp1=[[0]*n for _ in range(k)]
for j in range(n):
performance[j]=int(performance[j])
dp[0][j]=performance[j]
dp1[0][j]=performance[j]
for i in range(1,k):
for j in range(n):
for k in range(max(j-d,0),j):
dp[i][j]=max(dp[i][j],dp1[i-1][k]*performance[j],dp[i-1][k]*performance[j])
dp1[i][j]=min(dp1[i][j],dp1[i-1][k]*performance[j],dp[i-1][k]*performance[j])
print(max(dp[-1]))
python 牛客真题 合唱团
最新推荐文章于 2023-11-21 11:21:23 发布
本文介绍了一种使用动态规划算法解决股票交易问题的方法。通过输入股票的性能数据和交易限制,算法能够找到在给定限制下获得最大利润的交易策略。文章详细展示了算法的实现过程,包括初始化动态规划数组、迭代更新状态以及最终结果的获取。

5063

被折叠的 条评论
为什么被折叠?



