function lastStoneWeight(stones) {let dp = new Array(15001).fill(0);let sum = 0;for (let i = 0; i < stones.length; i++) {sum += stones[i];}let target = Math.floor(sum / 2);for (let i = 0; i < stones.length; i++) {for (let j = target; j >= stones[i]; j--) {dp[j] = Math.max(dp[j], dp[j - stones[i]] + stones[i])}}return sum - 2 * dp[target];}
