= $a[$m - 1]) || ($n1 + $n2 - $sum[$m - 1] - $j >= $a[$m - 1])) { $dp[$m - 1][$j] = 1; } else { $dp[$m - 1][$j] = 0; } } for($j = $m - 2; $j >= 0; $j--) { for($k = 0; $k <= $n1 + $n2 - $sum[$j - 1]; $k++) { $dp[$j][$k] = 0; if($k >= $a[$j]) { $dp[$j][$k] = max($dp[$j][$k], 1 + $dp[$j + 1][$k - $a[$j]]); } if($n1 + $n2 - $sum[$j - 1] - $k >= $a[$j]) { $dp[$j][$k] = max($dp[$j][$k], 1 + $dp[$j + 1][$k]); } } } print($dp[0][$n1]); print("\n"); } ?>