tmp
가 B
보다 크거나 같으면서 가장 낮은 탑 res
보다 낮은 경우, tmp
를 res
에 저장T = int(input())
for tc in range(1, T+1):
N, B = map(int, input().split())
emps = list(map(int, input().split()))
res = 10000*N # 변수 초기화
# Bit Masking
for i in range(1, 2**N):
tmp = 0
for j in range(N):
if i & (1<<j):
tmp += emps[j]
if tmp >= B and res > tmp :
res = tmp
print(f'#{tc} {res-B}')
비트마스킹을 써본 횟수가 적어서 아쉬웠는데, 이 기회에 비트마스킹을 써볼 수 있어서 좋았다. 다른 경우에서도 더 많이 활용해 봐야겠다!
댓글알바 시키려고 알려달라는건 안알려주고,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,