G. 【普及】买卖股票的最佳时机_3

    传统题 200ms 256MiB

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

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

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

设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。

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

输入格式

第一行包含 11 个正整数 nn,表示 prices[]prices[] 的长度

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

输出格式

输出最大利润

8
3 3 5 0 0 3 1 4
6
5
1 2 3 4 5
4

提示

【样例解释 #1】

  • (30)+(41)=6(3 - 0) + (4 - 1) = 6

【样例解释 #2】

  • 51=45 - 1 = 4
  • 注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。
  • 因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。

【数据范围】

  • 1n1051 \leq n \leq 10^5
  • 0prices[i]1050 \leq prices[i] \leq 10^5
请思考后再点击查看提示

来源