Partition Problem: แบ่งลิสต์ nums เป็น 2 กลุ่ม ผลรวมเท่ากัน ตัวอย่าง: nums = [2, 3, 6, 5] → True (กลุ่ม [2,6] และ [3,5] ผลรวม 8) แนวทาง (Dynamic Programming - Subset Sum) ถ้า sum(nums) เป็นคี่ → False หา half = sum // 2 DP: dp[i] = สามารถทำผลรวม i ได้หรือไม่ เริ่ม dp[0] = True สำหรับแต่