// (problem Link) - [https://leetcode.com/problems/minimum-path-sum/] #include using namespace std; int minSumPathUtil(int i, int j,vector> &matrix,vector> &dp) { if(i==0 && j == 0) return matrix[0][0]; if(i<0 || j<0) return 1e9; if(dp[i][j]!=-1) return dp[i][j]; int up = matrix[i][j]+minSumPathUtil(i-1,j,matrix,dp); int left = matrix[i][j]+minSumPathUtil(i,j-1,matrix,dp); return dp[i][j] = min(up,left); } int minSumPath(int n, int m, vector > &matrix){ vector > dp(n,vector(m,-1)); return minSumPathUtil(n-1,m-1,matrix,dp); } int main() { vector > matrix{{5,9,6}, {11,5,2}}; int n = matrix.size(); int m = matrix[0].size(); cout<