\(N\)종류의 화폐을 적절히 사용하여 \(K\)원을 거슬러주려고 할 때, 필요한 화폐 개수의 최솟값을 구해보자.
어떤 화폐의 금액은 그 다음으로 큰 화폐 금액의 약수이다. 각 화폐는 충분히 많다.
입력
- 첫째 줄에 \(N\)과 \(K\)가 주어진다. \((1 ≤ N ≤ 20, 1 ≤ K ≤ 100,000,000)\)
- 그 다음 줄부터 \(N\)개의 줄에 화폐의 가치가 오름차순으로 주어진다. \((1 ≤ 화폐의 가치 ≤ 100,000,000)\)
- 어떤 화폐의 금액은 다음으로 큰 화폐 금액의 약수이다.
- 가장 작은 화폐 금액은 \(K\)의 약수이다.
출력
- \(K\)원을 만들 수 있는 화폐의 최소 개수를 출력한다.
입력 예시 1
10 2500
1
5
10
50
100
500
1000
5000
10000
50000
출력 예시 1
3
Comments