Advertisement
nikunjsoni

375

Jun 8th, 2021
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.43 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     vector<vector<int>> dp;
  4.     int getMoneyAmount(int n) {
  5.         dp.resize(n+1, vector<int>(n+1, INT_MAX));
  6.         return solve(1, n);
  7.     }
  8.    
  9.     int solve(int l, int r){
  10.         if(l >= r) return 0;
  11.         if(dp[l][r] != INT_MAX) return dp[l][r];
  12.         for(int i=l; i<=r; i++)
  13.             dp[l][r] = min(dp[l][r], max(i+solve(l, i-1), i+solve(i+1, r)));
  14.         return dp[l][r];
  15.     }
  16.    
  17. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement