https://www.acmicpc.net/problem/11047
역순으로 된 배열을 반복문으로 돌리며 반복문 안에서 목표금액보다 크면 넘어가고 작다면 나눈 몫을 더하며 나머지를 계속 나눠나가며 더이상 나눠지지 않을때에 멈춘다.
import sys
n,k = map(int,sys.stdin.readline().split())
coin = []
for i in range(n):
coin.append(int(sys.stdin.readline()))
coin.sort(reverse=True)
cnt = 0
for i in coin:
if i > k:
continue
else:
if k % i == 0:
cnt += k // i
break
else:
cnt += k // i
k = k % i
print(cnt)