Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- const int inf = 1e9;
- int dp[100010][5];
- int mx[100010][5];
- int maxProfit(vector<int>& prices) {
- int n = prices.size();
- for(int i=n-1;i>=0;i--){
- dp[i][1] = max(dp[i+1][1], - prices[i] + mx[i+1][0]);
- dp[i][2] = max(dp[i+1][2], - prices[i] + mx[i+1][1]);
- mx[i][0] = max(mx[i+1][0], prices[i] + dp[i+1][0]);
- mx[i][1] = max(mx[i+1][1], prices[i] + dp[i+1][1]);
- }
- return max(dp[0][1], dp[0][2]);
- }
- };
Add Comment
Please, Sign In to add comment