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. minhchau99 (19/31)
  2. sv_tranquocan (10/14)
  3. caubeioi (4/5)
Trong 7 ngày
  1. minhchau99 (44/83)
  2. caubeioi (43/68)
  3. nhatanh (20/30)
Trong 30 ngày
  1. caubeioi (182/308)
  2. phamnhi (152/420)
  3. bestsoilvam (151/248)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38235

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