#P1136. 卖股票的最佳时机 VII

卖股票的最佳时机 VII

题目描述

小蓝正在研究股票市场,他希望从股票交易中获得最大利润。

给定一个长度为 NN 的整数数组 A1,A2,,ANA_{1}, A_{2}, \cdots, A_{N},其中 AiA_i 表示一支股票在第 ii 天的价格,以及一个整数 feefee 表示每笔交易需要支付的手续费。

小蓝可以进行无限次交易,但每笔交易(买入持有并卖出的整个过程)都需要支付一次手续费。请你帮助小蓝计算他能获得的最大利润。

注意:

  • 一笔交易指买入持有并卖出股票的整个过程,每笔交易只需要支付一次手续费
  • 小蓝不能同时参与多笔交易(他必须在再次购买前出售掉之前的股票)
  • 可以在同一天买入并卖出股票

输入描述

第一行包含两个整数 NNfeefee,分别代表数组长度和交易手续费。

第二行包含 NN 个整数 A1,A2,,ANA_1, A_2, \cdots, A_N,其中 AiA_i 表示股票在第 ii 天的价格。

输出描述

输出一行包含一个整数表示最大利润。

样例

6 2
1 3 2 8 4 9
8

样例解释: 小蓝可以完成两笔交易:

在第1天买入(价格=1),在第4天卖出(价格=8),利润为 (8-1)-2 = 5(减去手续费2) 在第5天买入(价格=4),在第6天卖出(价格=9),利润为 (9-4)-2 = 3(减去手续费2) 总利润为 5 + 3 = 8

数据范围

对于所有评测用例,1N5×1041 \leq N \leq 5 \times 10^{4}0fee5×1040 \leq fee \leq 5 \times 10^{4}0Ai1×1050 \leq A_i \leq 1 \times 10^{5}