A → B
면접 대비시간 제한2초메모리 제한512 MB
어떤 수에 2를 곱하거나 끝에 1을 붙이는 두 연산만으로 A를 B로 바꿀 때 필요한 최소 연산 횟수를 구하고, 불가능하면 -1을 출력한다.
문제
정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음 두 가지이다.
- 2를 곱한다.
- 1을 수의 가장 오른쪽에 추가한다.
A를 B로 바꾸는 데 필요한 연산 횟수의 최솟값을 구하시오.
입력
첫째 줄에 A와 B가 주어진다. (1 ≤ A < B ≤ 10^9)
출력
A를 B로 바꾸는 데 필요한 연산 횟수의 최솟값에 1을 더한 값을 출력한다. 만들 수 없는 경우에는 -1을 출력한다.