문제1058--동전 거슬러 주기

1058: 동전 거슬러 주기

시간제한 : 2.000 sec  메모리제한 : 128 MB

문제 설명

숫자의 나라에는 다양한 동전들이 있습니다.

우리 나라처럼 10원 50원 100원 500원 이런 동전만 있는게 아니라 9원 35원 1000원 짜리 동전도 있을 수 있죠.

동전의 갯수와, 동전의 가치들, 그리고 거슬러줘야 하는 금액이 주어졌을 때, 총 몇가지 방법으로 돈을 거슬러 줄 수 있는지를 구해주세요.

입력 설명

첫 줄에는 테스트 케이스 T (1 <= T <= 10) 이 주어집니다.

각 테스트 케이스의 첫번째 줄에는 동전의 갯수 N (1 <= N <= 20) 이 주어지고,
둘째 줄에는 N개의 동전의 가치 Ai (1 <= Ai <= 1,000) 이 주어집니다. 모든 동전은 가치가 다 다릅니다.
세번째 줄에는 거슬러줘야 하는 금액 C (1 <= C  <= 10,000) 이 주어집니다.

출력 설명

각 테스트당 한줄에 하나씩, 거슬러 줄 수 있는 가짓수를 출력 해 주세요. 숫자가 클 수 있으니 1,000,000,007 로 나눈 나머지를 출력하세요.

입력 예시 Copy

3
2
1 2
1000
3
1 5 10
100
2
5 7
22

출력 예시 Copy

501
121
1

출처/분류