부호 있는 이진 전개
시간 제한1초메모리 제한128 MB
최대 500자리 십진 정수가 주어질 때 부호 있는 이진 전개 중 0이 아닌 자릿수의 최소 개수를 구합니다.
문제
어떤 정수 의 이진 전개란, 다음 세 조건을 모두 만족하는 '자릿수'의 수열 을 말한다.
- 각 자릿수 는 , , 중 하나이다.
- 가장 높은 자리의 자릿수 는 이 아니다.
- .
한 정수는 서로 다른 여러 이진 전개를 가질 수 있다. 이 모든 전개 중에서 이 아닌 자릿수의 개수가 가장 적은 것을 최적 전개라고 부른다. 예를 들어 을 편의상 로 나타내면, 의 이진 전개에는 , , 등이 있다. 이 가운데 첫 번째 는 이 아닌 자릿수가 개뿐이므로 의 최적 전개이다.
주어진 정수 에 대해, 그 최적 이진 전개에 들어 있는 이 아닌 자릿수의 개수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 ()이 주어진다. 둘째 줄에는 개의 십진수 자리로 이루어진 정수 이 주어진다. 은 가장 높은 자리부터(즉 일반적인 표기 순서로) 적혀 있으며, 이 아닌 자릿수로 시작한다.
출력
의 최적 이진 전개에 들어 있는 이 아닌 자릿수의 개수를 한 줄에 출력한다.