Advertisement
aqibm

Untitled

Apr 17th, 2025
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.50 KB | Source Code | 0 0
  1. vector<vector<int>> prefSum;
  2. vector<vector<int>> sufSum;
  3. int n,m;
  4.  
  5.  
  6. int getPrefixSum(int row, int left){
  7.     if(left==0)
  8.         return 0;
  9.     return prefSum[row][left-1];
  10. }
  11.  
  12. int getSuffixSum(int row, int right){
  13.     if(right==0)
  14.         return 0;
  15.     return sufSum[row][right-1];
  16. }
  17.  
  18.  
  19. int solve(int row,int k, vector<vector<int>>& matrix){
  20.     if(k==0)
  21.         return 0;
  22.     if(row == n)
  23.         return -1e9;
  24.     int ans = -1;
  25.     for(int i=0;i<=min(m,k);i++){
  26.         for(int j=0;j<=i;j++){
  27.             int left = j;
  28.             int right = i-j;
  29.             ans = max(ans, getPrefixSum(row,left) + getSuffixSum(row,right) + solve(row + 1, k - i,matrix));
  30.         }
  31.     }
  32.     return ans;
  33. }
  34.  
  35. int getMaximumSum(vector<vector<int>> matrix, int k) {
  36.     n = matrix.size();
  37.     m = matrix[0].size();
  38.     prefSum.resize(n, vector<int>(m,0));
  39.     sufSum.resize(n, vector<int>(m,0));
  40.     for(int i=0;i<n;i++){
  41.         for(int j=0;j<m;j++){
  42.             if(j==0){
  43.                 prefSum[i][j] = matrix[i][j];
  44.             }
  45.             else{
  46.                 prefSum[i][j] = prefSum[i][j-1] + matrix[i][j];
  47.             }
  48.         }
  49.     }
  50.     for(int i=0;i<n;i++){
  51.         for(int j=m-1;j>=0;j--){
  52.             if(j==m-1){
  53.                 sufSum[i][j] = matrix[i][j];
  54.             }
  55.             else{
  56.                 sufSum[i][j] = sufSum[i][j+1] + matrix[i][j];
  57.             }
  58.         }
  59.         reverse(sufSum[i].begin(),sufSum[i].end());
  60.     }
  61.     return solve(0,k,matrix);
  62.    
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement