동전 거스름돈 2


답안 제출

Points: 10
시간 제한: 2.0s
메모리 제한: 1G

문제 유형

상점의 주인인 영희는 고객에게 거스름돈을 줄 때 항상 동전의 개수를 최소한으로 하여 주려고 합니다.

영희가 가지고 있는 동전은 총 N종류가 있으며, 각 동전의 가치는 임의의 양의 정수로 주어집니다.

거슬러 주어야 할 금액 K가 주어졌을 때, 영희가 최소한의 동전 개수로 거스름돈을 주기 위해 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.

가지고 있는 각 종류의 동전 개수는 무한하다고 가정합니다.

입력

첫째 줄에 동전의 종류 N과 거슬러 주어야 할 금액 K가 공백을 사이에 두고 주어진다.

둘째 줄에 N개의 동전 가치 A\(i\)가 공백을 사이에 두고 오름차순으로 주어진다.

출력

첫째 줄에 금액 K를 만드는 데 필요한 동전 개수의 최솟값을 출력한다.

만약 어떤 방법으로도 정확히 금액 K를 만들 수 없는 경우에는 -1을 출력한다.

제한 사항

  • 1 ≤ N ≤ 100
  • 1 ≤ K ≤ 10,000
  • 1 ≤ A\(i\) ≤ 10,000

예제 입력 1

3 6
1 3 4

예제 출력 1

2

예제 입력 2

2 7
3 5

예제 출력 2

-1

코멘트

현재 작성된 코멘트가 없습니다.