#3908. 手续费交易探秘

手续费交易探秘

🐰😺💰 兔猫信奥学院的手续费交易探秘 💰😺🐰

在兔猫信奥学院的金融实训室里,加菲老师给小兔和小猫布置了新的挑战:

“手里有一支股票,想要在多日内反复买卖,每次买入或卖出时都要支付固定手续费 fee。但卖出之前不能再买入,只能一次次完成“买入→卖出”的整笔交易。请你们设计最优策略,获取最大的净利润。”


输入格式

第一行:整数 n,表示天数(数组长度)。
第二行:n 个整数 prices[i],用空格分隔,表示第 i 天的股票价格。
第三行:整数 fee,表示每笔交易的手续费。
  • 1 ≤ n ≤ 5×10^5
  • 1 ≤ prices[i] < 5×10^5
  • 0 ≤ fee < 5×10^5

输出格式

输出一个整数,表示在支付手续费的前提下能够获得的最大净利润。

示例 1

6
1 3 2 8 4 9
2
8
  • 解释:
    • 第 0 天买入(价格 1)
    • 第 3 天卖出(价格 8),利润 = 8−1−2=5
    • 第 4 天买入(价格 4)
    • 第 5 天卖出(价格 9),利润 = 9−4−2=3
    • 总净利润 = 5 + 3 = 8

示例 2

6
1 3 7 5 10 3
3
6

🎓 加菲老师寄语:
通过“持有/持币”两状态动态规划,你可以在线性时间内、常量空间中,轻松应对含手续费的多次交易挑战。祝交易盈利,修炼精进!