class Solution { public: int maxProfit(vector<int>& prices) { int d1=-prices[0],d2=0,d3=d1,d4=0; for(auto x:prices) { d1=max(d1,-x); d2=max(d2,d1+x); d3=max(d3,d2-x); d4=max(d4,d3+x); } return d4; } };