KNAPSACK1

Nguồn: None

Cho số nguyên dương ~ s ~ và dãy số ~ A ~ gồm ~ n ~ số nguyên dương ~ a_1, a_2, …, a_n ~. Hãy chọn một số phần tử trong dãy số ~ A ~ sao cho tổng các phần tử được chọn là lớn nhất nhưng không vượt quá ~ s ~. Lưu ý mỗi số trong dãy ~ A ~ có thể được chọn 0 hoặc 1 hoặc nhiều lần.

Yêu cầu: Hãy cho biết tổng lớn nhất chọn được.

Dữ liệu vào

  • Dòng đầu tiên ghi số nguyên dương ~ t ~ ~ ( 1 ≤ t ≤ 10 ) ~ cho biết số lượng testcase.
  • ~ t ~ nhóm dòng tiếp theo mỗi nhóm dòng cho biết thông tin về 1 testcase:

    • Dòng đầu ghi 2 số nguyên dương ~ n, s ~.
    • Dòng tiếp theo ghi ~ n ~ số nguyên dương ~ a_1, a_2, …, a_n ~.

Tất cả các số được cho không vượt quá ~ 2000 ~.

Kết quả

Đưa ra ~ t ~ số, mỗi số trên một dòng là kết quả tương ứng với testcase trong input

Ví dụ:

Input 1

2
3 12
1 6 9
5 9 
3 4 4 4 8 

Output 1

12
9 

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. linhdinh (32/39)
  2. gialinh_10van (23/25)
  3. phamnhi (16/67)
Trong 7 ngày
  1. phamnhi (126/300)
  2. ilpnvm (69/111)
  3. dambinh (61/97)
Trong 30 ngày
  1. ducchinh (184/249)
  2. hienpham (183/244)
  3. bichngoc (179/266)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 37789

Lưu Hải Phong - 2020
[email protected]