inline int dfs(int x, int y) { return f[x][y] != 0x3f3f3f3f3f3f3f3f ? f[x][y] : f[x][y] = x == r ? mp[x][y] : max(dfs(x + 1, y), dfs(x + 1, y + 1)) + mp[x][y]; }