100
#LS1252. 【普及】买卖股票的最佳时机_4

【普及】买卖股票的最佳时机_4

【普及】买卖股票的最佳时机_4

给定一个数组 pricesprices ,它的第 ii 个元素 prices[i]prices[i] 表示一支给定股票第 ii 天的价格。

设计一个算法来计算你所能获取的最大利润。你最多可以完成 kk 笔交易,也就是说,你最多可以买 kk 次,卖 kk 次。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

输入格式

第一行包含 22 个正整数 n,k(1n105,1k100)n, k(1 \le n \le 10^5, 1 \le k \le 100),表示 prices[]prices[] 的长度和交易笔数上限

第二行包含 nn 个正整数,表示 prices[i]prices[i]

输出格式

对于每组数据输出一行,包含答案

3 2
2 4 1
2
6 2
3 2 6 5 0 3
7

提示

【样例 1 解释】

  • 在第 11 天买入(价格为 22),第 22 天卖出(价格为 44
  • 获利 42=24 - 2 = 2

【样例 2 解释】

  • 在第 22 天买入(价格为 22),第 33 天卖出(价格为 66
  • 在第 55 天买入(价格为 00),第 66 天卖出(价格为 33
  • 获利 (62)+(30)=7(6 - 2) + (3 - 0) = 7

【数据范围】

  • 1n105,1k1001 \le n \le 10^5, 1 \le k \le 100
  • 0prices[i]1040 \le prices[i] \le 10^4
请思考后再点击查看提示

来源