ภาพรวมปัญหา ได้รับอาร์เรย์และค่าเป้าหมาย (given_Sum) ต้องการหาผลรวมของชุดย่อย (subset sum) สูงสุดที่ไม่เกินค่าเป้าหมาย ไม่สามารถใช้ Brute Force ได้โดยตรงเพราะขนาดอาร์เรย์ใหญ่ จึงใช้เทคนิค Meet in the Middle (แบ่งปัญหาครึ่งๆ มารวมกัน) ตัวอย่าง ตัวอย่างที่ 1 Input: arr[] = { 21, 1, 2, 45, 9, 8 }, giv