Key optimizations: If sum is not divisible by , return false.
Sort in descending order. Larger elements fail faster.
If any element exceeds target sum, return false.
Skip duplicate consecutive values to avoid redundant work.
When subsets are filled, the last one is guaranteed.