개업
면접 대비시간 제한1초메모리 제한256 MB
N그릇을 만들어야 하고 웍 크기 목록이 주어질 때, 한 번에 웍 하나 또는 같은 크기 웍 두 개를 써서 정확히 N그릇을 채우는 최소 조리 횟수를 구한다.
문제
해빈이는 짜장면을 정말 좋아한다. 너무 좋아한 나머지 짜장면만 파는 중국집을 열었다. 해빈이는 양손잡이라서 웍(중국 냄비) 두 개를 동시에 잡고 한 번에 요리할 수 있다.

웍
해빈이는 낭비를 싫어해서 웍을 언제나 가득 채워 쓴다. 한 번 요리할 때 웍을 하나만 쓰면 그 웍의 크기만큼, 두 개를 함께 쓰면 두 웍의 크기를 더한 만큼 짜장면이 정확히 나온다. 4그릇짜리 웍으로는 3그릇도 5그릇도 아닌 정확히 4그릇을 만든다. 동시에 쓰는 웍 두 개는 서로 다른 웍이어야 하므로, 크기가 인 웍을 두 개 가지고 있을 때만 한 번에 그릇을 만들 수 있다. 요리를 마친 웍은 다음 요리에 다시 쓸 수 있고, 몇 번이든 다시 쓸 수 있다.
주문은 정확히 그릇이고, 요리해서 나온 그릇 수의 합이 이 되어야 한다.
주문이 5그릇이고 웍의 크기가 1과 3이라면, 먼저 1그릇용 웍과 3그릇용 웍을 함께 써서 4그릇을 만들고 다음에 1그릇용 웍으로 1그릇을 만들어 두 번의 요리로 주문을 채운다.
주문 받은 그릇 수와 웍의 크기가 주어질 때, 모든 주문을 처리하는 데 필요한 최소 요리 횟수를 구하라.
입력
첫째 줄에 주문 받은 짜장면의 수 ()과 웍의 개수 ()이 공백으로 구분되어 주어진다. 둘째 줄에 웍의 크기 ()이 공백으로 구분되어 주어진다. 같은 크기의 웍을 여러 개 가지고 있을 수 있다.
출력
모든 주문을 처리하는 데 필요한 최소 요리 횟수를 출력한다. 어떻게 해도 정확히 그릇을 만들 수 없으면 -1을 출력한다.
힌트
웍의 크기가 1과 3이고 주문이 6그릇이면, 3그릇용 웍으로 3그릇을 만드는 요리를 두 번 해서 두 번 만에 주문을 채울 수 있다.