시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
양의 정수 N에 대해 다음 함수를 정의한다.
Sum(N)은 N의 모든 자리수를 더한 값이다.Prod(N)은 N의 모든 자리수를 곱한 값이다.Prod3(N)은 N의 자리수 중 가장 큰 세 개를 곱한 값이다. N이 세 자리보다 작으면 Prod3(N) = Prod(N)이다.Smallest(N)은 N의 가장 작은 자리수이다.First(N)은 N의 맨 앞 자리수이다.두 값 X와 Y에 대해 연산자 @를 다음과 같이 정의한다.
X @ Y = 5 * Prod3(X) + First(X) * Sum(Y) + Smallest(Y)
다음 등식이 성립한다.
Sum(47) = 4 + 7 = 11Prod(2322) = 2 * 3 * 2 * 2 = 24Prod3(2322) = 3 * 2 * 2 = 12Prod3(47) = Prod(47) = 4 * 7 = 28Smallest(427) = 2First(427) = 412034 @ 217 = 5 * (4 * 3 * 2) + 1 * (2 + 1 + 7) + 1 = 131올바른 식은 다음 규칙으로만 만들 수 있다.
X는 올바른 식이다.A와 B가 올바른 식이면 A @ B도 올바른 식이다.X와 목표값 G가 주어질 때, 값이 G가 되는 올바른 식에 들어가는 @ 연산자의 최소 개수를 구하라. 만들 수 없다면 -1을 출력한다.
첫째 줄에 X와 G가 주어진다. X는 1,000,000보다 작거나 같은 자연수이고, G는 2,000,000,000보다 작거나 같은 자연수이다.
값이 G가 되는 올바른 식을 만들 수 있다면 그 식에 들어가는 @ 연산자의 최소 개수를 출력한다. 만들 수 없다면 -1을 출력한다.