정확한 계량
시간 제한1초메모리 제한128 MB
각 상자에는 무게 10^k_i인 추가 q_i개씩 들어 있을 때, 고른 추의 합이 정확히 x가 되도록 열어야 하는 상자의 최소 개수를 구한다.
문제
피터는 화학 실험실에서 일한다. 새 실험을 위해 그는 시약을 정확히 나노그램(ng)만큼 계량해야 한다. 그에게는 양팔 저울과 여러 개의 표준 분동이 있다.
분동은 개의 밀봉된 상자에 담겨 있다. 번째 상자에는 각각 무게가 ng인 동일한 분동이 개 들어 있다. 상자에서 분동을 꺼내려면 상자를 열어야 하며, 연 상자에서는 그 안의 분동을 개부터 개까지 원하는 만큼 꺼낼 수 있다.
피터는 꺼낸 분동들의 무게 합이 정확히 ng이 되도록 하되, 여는 상자의 수를 최소로 하고 싶다. 열어야 하는 상자의 최소 개수를 구하여라.
입력
첫째 줄에 두 정수 와 이 주어진다 (, ).
다음 개의 줄에는 각 상자를 나타내는 두 정수 와 가 주어진다 (, ).
출력
정확히 ng을 계량하기 위해 열어야 하는 상자의 최소 개수를 한 줄에 출력한다. 정확히 계량하는 것이 불가능하면 을 출력한다.