아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Двоичные единицы

면접 대비

시간 제한1초메모리 제한1024 MB

요약
x가 10^18 이하이고 k가 60 이하일 때, x+y의 이진 표현에 1이 정확히 k개 있게 하는 가장 작은 음이 아닌 정수 y를 구한다.
난이도

보통10점 중 6점

유형
비트 연산, 그리디, 수학, 구현
정답자
아직 제출이 없습니다

문제

Рассмотрим натуральное число xx. Требуется прибавить к нему минимальное возможное целое неотрицательное число yy, чтобы двоичная запись получившегося числа x+yx+y имела ровно kk единиц.

입력

Первая строка ввода содержит натуральное число xx (1≤x≤10181 \le x \le 10^{18}).

Вторая строка ввода содержит натуральное число kk (1≤k≤601 \le k \le 60).

출력

Выведите минимальное возможное целое неотрицательное число yy, такое что двоичная запись числа x+yx+y имеет ровно kk единиц.

예제1

  1. 예제 1

    입력
    20
    4
    
    예상 출력
    3