4
public int findMaximizedCapital(int k, int w, int[] profits, int[] capital) {5
dp = new int[k + 1][profits.length + 1];9
return w + help(k, w, 0, profits, capital);12
public int help(int k, int w, int i, int[] profits, int[] capital) {13
if (k == 0 || i >= profits.length) return 0;14
if (dp[k][i] != -1) return dp[k][i];15
int res = Integer.MIN_VALUE;16
if (capital[i] <= w) {21
profits[i] + help(k - 1, w + profits[i], i + 1, profits, capital),22
help(k, w, i + 1, profits, capital)));24
res = Math.max(res, help(k, w, i + 1, profits, capital));26
return dp[k][i] = res;