class Solution {
public:
   int minPathSum(vector<vector<int> >& matrix) {
       vector<int>dp(matrix[0].size()+1,0x3f3f3f3f);
       dp[1]=0;
       for(int i=1;i<=matrix.size();i++)
       for(int j=1;j<=matrix[0].size();j++)
       dp[j]=min(dp[j],dp[j-1])+matrix[i-1][j-1];
       return dp[matrix[0].size()];
    }
};