#P1135. 买卖股票的最佳时机 VI

买卖股票的最佳时机 VI

题目描述

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

给定一个长度为 NN 的整数数组 A1,A2,,ANA_{1}, A_{2}, \cdots, A_{N},其中 AiA_i 表示一支股票在第 ii 天的价格,以及一个整数 kk,表示最多可以进行的交易笔数。

小蓝可以进行最多 kk 笔交易,每笔交易可以是以下任一类型:

  1. 普通交易:在第 ii 天买入,然后在之后的第 jj 天卖出,其中 i<ji < j。你的利润是 AjAiA_j - A_i
  2. 做空交易:在第 ii 天卖出,然后在之后的第 jj 天买回,其中 i<ji < j。你的利润是 AiAjA_i - A_j

注意:

  • 小蓝不能同时参与多笔交易(他必须在再次购买前出售掉之前的股票)。
  • 每天只能进行一次操作(买入、卖出或不做任何操作)。

请你帮助小蓝计算他能获得的最大利润。

输入描述

第一行包含两个整数 NNkk,分别代表数组长度和最多交易次数。

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

输出描述

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

样例

5 2
2 4 1 5 3
6

样例解释:

样例解释: 一种可能的最优策略:

第1天买入(价格=2),第2天卖出(价格=4),利润为2 第3天买入(价格=1),第4天卖出(价格=5),利润为4 总利润为6

数据范围

对于所有评测用例,1N1031 \leq N \leq 10^{3}1k1001 \leq k \leq 1000Ai1050 \leq A_i \leq 10^{5}