Link: https://www.acmicpc.net/problem/1182
N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오.
import sys
si = sys.stdin.readline
n,s = list(map(int,si().split()))
numbers = list(map(int,si().split()))
answer = 0
def rec(k,value):
if k == n:
global answer
if value == s:
answer += 1
else:
rec(k+1,value+numbers[k])
rec(k+1,value)
rec(0,0)
#0은 시작할때 한번 계산되기 때문에 한번 빼준다.
if s==0:
answer-=1
print(answer)