동전 거스름돈 1


답안 제출

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

문제 유형

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

영희가 가지고 있는 동전은 총 N종류가 있다.

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

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

입력

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

둘째 줄부터 N개의 줄에 걸쳐 동전의 가치 A\(i\)가 오름차순으로 한 줄에 하나씩 주어진다. (A\(1\)은 항상 1이며, A\(i\)는 A\(i-1\)의 배수이다.)

출력

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

제한 사항

  • 1 ≤ N ≤ 12
  • 1 ≤ K ≤ 100,000,000
  • 1 ≤ A\(i\) ≤ 50,000,000 (A\(1\) = 1, i ≥ 2일 때 A\(i\)는 A\(i-1\)의 배수)

예제 입력 1

5 420
1
5
10
50
100

예제 출력 1

7

예제 입력 2

3 10
1
2
4

예제 출력 2

3

코멘트

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