Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. class Solution {
  2. public:
  3. vector<int> dp;
  4. int mx;
  5. vector<vector<int> > arr;
  6. int solve(int curr){
  7. if(curr == arr.size()) return 0;
  8. int &ret = dp[curr];
  9. if(~ret) return ret;
  10. ret = INT_MAX;
  11. for(int j = curr, temp = -1, ss = 0 ; j < arr.size() ; j++){
  12. ss += arr[j][0];
  13. if(ss > mx) break;
  14. temp = max(temp, arr[j][1]);
  15. ret = min(ret, temp + solve(j+1));
  16. }
  17. return ret;
  18. }
  19. int minHeightShelves(vector<vector<int>>& books, int shelf_width) {
  20. mx = shelf_width;
  21. arr = books;
  22. dp = vector<int>(books.size()+1, -1);
  23. return solve(0);
  24. }
  25. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement