수 만들기
시간 제한1.5초메모리 제한1024 MB
양의 정수 A를 B로 바꾸는 최소 비용을 구한다. 각 자리 숫자를 다른 숫자로 바꾸는 연산(비용은 숫자 차, 최고 자리는 0이 될 수 없음)과 y > -A인 정수를 더하는 연산(비용 |y|)을 원하는 순서로 쓸 수 있다.
문제
두 양의 정수 가 주어집니다.
에 다음의 두가지 연산을 순서와 횟수에 상관 없이 원하는 만큼 반복할 수 있습니다.
- 의 진법 표현을 라고 합시다. 즉, , 는 를 만족하는 정수이며, 입니다. 임의의 정수 와 를 골라, 를 로 교체합니다. 단, 이라면 을 만족해야 합니다. 해당 연산의 비용은 입니다.
- 인 임의의 정수 를 골라, 에 더합니다. 해당 연산의 비용은 입니다.
예를 들어, 수 에 를 골라 번 연산을 수행하면 가 되며, 해당 연산의 비용은 입니다.
그러나 를 골라 를 만들거나, 를 골라 를 만드는 것은 조건을 만족하지 않으므로 불가능합니다.
또한, 수 에 를 골라 번 연산을 수행하여 으로 만드는 것 역시 조건을 만족하지 않으므로 불가능합니다.
를 로 만드는 데 드는 비용의 합의 최솟값은 얼마일까요?
입력
첫 번째 줄에 두 양의 정수 가 공백으로 구분되어 주어집니다.
출력
를 로 만드는 데 드는 비용의 합의 최솟값을 출력해주세요.