#include<iostream>
using namespace std;
#include<vector>
#include<string>
class Solution {
public:
int maxProfit(vector<int>& prices, int fee) {
size_t size = prices.size();
int dp0 = 0;// 当天不持有的最大利润
int dp1 = -prices[0];// 当天持有的最大利润
for (size_t i = 1; i < size; ++i)
{
dp0 = std::max(dp0, dp1 + prices[i] - fee); // 与之前一样不持有,或者抛出
dp1 = std::max(dp1, dp0 - prices[i]); // 与之前一样持有,或者买入
}
return dp0;
}
};
int main()
{
Solution s;
vector<int> prices{ 1,3,7,5,10,3 };
cout << s.maxProfit(prices, 3) << endl;
return 0;
}