https://www.acmicpc.net/problem/1182
시간 1초, 메모리 128MB
input :
output :
조건 :
투 포인터를 이용하거나, 조합을 이용하는 방법이 존재할 거 같다.
나는 그냥 조합을 써서 합이 S이면 ans 값을 하나씩 증가시켰다.
import sys
from itertools import combinations
n, s = map(int, sys.stdin.readline().split())
data = list(map(int, sys.stdin.readline().split()))
ans = 0
for i in range(1, n + 1):
for item in combinations(data, i):
if sum(item) == s:
ans += 1
print(ans)
투 포인터를 쓸 거라면 양수 리스트, 음수 리스트를 나누고.
양수의 모든 값을 더하고, cost를 표시하든지, 반대로 하든지 해서
근데 이렇게 해서 완전 탐색 하는 거긴 한데 ㅋㅋㅋㅋㅋㅋ 괜찮겠지 ...