class Solution {
public:
int maxProfit(vector<int>& prices) {
int buy = INT_MIN;
int pre_buy;
int sell = 0;
int pre_sell = 0;
for (int i = 0; i < prices.size(); i++) {
pre_buy = buy;
buy = max(pre_sell - prices[i], buy);
pre_sell = sell;
sell = max(pre_buy + prices[i], sell);
}
return sell;
}
};