백준 2629 - 양팔저울 (파이썬)

Updated:

Answer

import sys
input = sys.stdin.readline
n = int(input())
a = list(map(int, input().split()))
m = int(input())
b = list(map(int, input().split()))

sum_a = sum(a)

dp = {a[0]}

for i in range(1, n):
    tmp = dp.copy()
    for j in tmp:
        dp.add(j + a[i])
        dp.add(abs(j - a[i]))
        dp.add(a[i])

a = []
for i in b:
    if i in dp:
        a.append('Y')
    else:
        a.append('N')

print(*a)

Categories:

Updated: