#P0388. 股票买卖Ⅴ

股票买卖Ⅴ

题目描述

给定一个长度为 NN 的数组,数组中的第 ii 个数字表示一个给定股票在第 ii 天的价格。

设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):

  1. 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
  2. 卖出股票后,你无法在第二天买入股票 (即冷冻期为 11 天)。

样例输入

第一行包含整数NN,表示数组长度。

第二行包含NN个正整数,表示完整的数组。

样例输出

输出一个整数,表示最大利润。

样例

样例一

5
1 2 3 0 2
3

样例1解释

这个我们的流程为 [买入,卖出,冷冻期,买入,卖出]。利润为 21=12 - 1 = 120=22 - 0 = 2。总利润为 1+2=31 + 2 = 3

数据范围

1N1051 \le N \le 10^{5}

每一个交易的价格为不大于1000010000的非负整数。