- bin 함수를 사용해 이진수로 바꾸어 계산하기 -> 1의 개수가 곧 물병의 개수 1의 위치의 값들을 모두 합하면 물의 양
- 이진수로 바꾸면 뒤에서부터 계산해야 하므로 보다 편하게 하기 위해 앞 뒤 값을 바꿔준다. -> [::-1] 처음부터 끝까지 -1간격으로
- 필요한 물의 양을 사기 위한 것은 이진수의 합을 생각하면 된다. -> 이진수의 합을 통해 물병의 개수를 줄여주기
- 메모리 : 30864 KB
- 시간 : 68 ms
import sys
n, k = map(int, sys.stdin.readline().split())
buy = 0
while bin(n).count('1') > k:
lst = format(bin(n)[2:])
lst = lst[::-1]
idx = lst.index('1')
buy += 2**idx
n += 2**idx
print(buy)