Huy ăn hết tiền

Xem dưới dạng PDF

Gửi bài giải

Điểm: 20
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Kiểu bài tập

Sau khi Hạo cày trâu giành được huy chương tại UOI (cuộc thi tin học), Hạo liền rủ người bạn thân Huy đi ăn mừng tại một quán ăn... khá bình dân.

Hạo chỉ vào bảng giá treo trên tường (vì quán quá sơ sài, không có thực đơn) và nói: "Cứ gọi thoải mái đi!"

Tuy nhiên, do đã dùng tiền mua sách trước đó, trong túi Hạo chỉ còn lại đúng \(M\) đồng (\(M \le 10\,000\)).

Dù quán bình dân nhưng món ăn lại rất đa dạng, với \(N\) loại khác nhau (\(N \le 100\)). Mỗi món thứ \(i\) có giá \(a_i\) đồng (\(a_i \le 1000\)). Do quán nhỏ nên mỗi món chỉ có đúng \(1\) phần.

Huy rất nguyên tắc, theo khẩu hiệu "không ăn hết tiền thì không chịu", nên cậu ấy sẽ chỉ chọn các món sao cho tiêu hết đúng \(M\) đồng.

Câu hỏi đặt ra là: có bao nhiêu cách chọn món ăn sao cho tổng chi phí đúng bằng \(M\) đồng?

Do Huy quá đói nên thuật toán cần chạy rất nhanh, tối đa \(1\) giây.

Dữ liệu vào

  • Dòng đầu gồm hai số nguyên: \(N\) và \(M\) - số loại món và số tiền Hạo có.
  • Dòng thứ hai gồm \(N\) số nguyên dương: \(a_1, a_2, \dots, a_N\) - giá từng món ăn.

Dữ liệu ra

  • Một số nguyên - số cách chọn món sao cho tổng đúng bằng \(M\) đồng. Đảm bảo đáp án nằm trong phạm vi kiểu int.

Input 1

4 4
1 1 2 2

Output 1

3

Gợi ý

  • Có ba cách chọn món sao cho tổng giá là \(4\):
  • Món 1 + món 2 + món 3
  • Món 1 + món 2 + món 4
  • Món 3 + món 4

Nhận xét

Không có ý kiến tại thời điểm này.