Đổi tiền 2

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: doitien.inp
Output: doitien.out

Người đăng:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python

Ngân hàng có ~n~ mệnh giá tiền có số lượng mỗi tờ tiền là vô hạn gồm ~a_1,a_2,...a_n~. Một người muốn đổi số tiền ~M~ theo các mệnh giá tiền này hãy tìm cách đổi sao cho số tờ tiền là ít nhất

Input

Dòng đầu chứa hai số ~n (1 \le n \le 100)~ là số loại mệnh giá ngân hàng có và số truy vấn ~q (1\le q \le 1000)~

Dòng tiếp theo chứa n số nguyên dương không vượt quá ~10^4~ đôi một khác nhau là các loại mệnh giá tiền mà ngân hàng có

Cuối cùng gồm ~q~ dòng mỗi dòng một giá trị ~M (1 \le M \le 10^4)~ và số tiền muốn đổi

Ouput

Gồm ~q~ dòng mỗi dòng một số nguyên dương là số tờ tiền ít nhất đổi được, trong trường hộp không đổi được tiền thì xuất ~-1~

Ví dụ 1

Input

3 2
1 7 5
10
18

Ouput

2
4

*Giải thích : * Đổi 10 gồm 2 tờ có mệnh giá 5 còn 18 thì có 4 tờ gồm ~5+5+7+1~

Ví dụ 2

Input

3 2
15 6 8
11
12

Ouput

-1
2

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.