#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int maxProfit(vector<int>& prices) {
int res = 0;
int len = prices.size();
vector<vector<int>>dp(len,vector<int>(2));
dp[0][0] = 0, dp[0][1] = -prices[0];
for (int i = 1; i < len; i++) {
dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] + prices[i]);
dp[i][1] = max(dp[i - 1][0] - prices[i], dp[i - 1][1]);
res = max(max(dp[i][0], dp[i][1]), res);
}
return res;
}
int main()
{
vector<int> vec{ 7,1,5,3,6,4 };
cout << maxProfit(vec);
system("pause");
return 0;
}