class Solution { int dp[210][210] = {0}; public: int maxValue(vector<vector<int> >& grid) { int n = grid.size(); int m = grid[0].size(); for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { dp[i][j] = max(dp[i-1][j],dp[i][j-1]) + grid[i-1][j-1]; } } return dp[n][m]; } };