1class Solution:2def minimumDifference(self, nums: List[int]) -> int:3n = len(nums) // 24left, right = nums[:n], nums[n:]5lsum, rsum = sum(left), sum(right)67ans = inf8for i in range(n + 1):9vals = sorted(2 * sum(combo) - lsum for combo in combinations(left, i))10for combo in combinations(right, n - i):11diff = 2 * sum(combo) - rsum12k = bisect_left(vals, -diff)13if k:14ans = min(ans, abs(vals[k - 1] + diff))15if k < len(vals):16ans = min(ans, abs(vals[k] + diff))17return ans