def dfs_array(self, A, k, cur, remain, ret):
        if len(cur) == k and remain == 0:
            ret.append(list(cur))

        if not A or len(cur) >= k or len(A)+len(cur) < k:
            return

        # save space
        num = A.pop(0)  # possible optimized by stack

        self.dfs_array(A, k, cur, remain, ret)
        cur.append(num)
        self.dfs_array(A, k, cur, remain-num, ret)
        cur.pop()

        A.push(0, num)
Set the most basic options in the config file.
dataset/ETHPy150Open algorhythms/LintCode/k Sum II.py/Solution.dfs_array--crossover with--dataset/ETHPy150Open vinitkumar/googlecl/src/googlecl/config/__init__.py/_create_basic_options