https://programmers.co.kr/learn/courses/30/lessons/43165

void BT(vector<int>& numbers, int target, int index, int& answer, int sum)
{
    if(numbers.size() == index)
    {
        if(sum == target)
            answer++;
        return;
    }
    int num = numbers[index];
    BT(numbers, target, index + 1, answer, sum + num);
    BT(numbers, target, index + 1, answer, sum - num);
}

int solution(vector<int> numbers, int target) {
    int answer = 0;
    BT(numbers, target, 0, answer, 0);
    return answer;
}