本题为多组测试数据,第一行输入一个正整数,代表测试数据组数。
对于每组测试数据,在第一行输入两个正整数,代表美食数量以及牛牛感到吃撑时的饱腹感需要超过
。
第二行输入个数,依次代表每道美食所能共提供的饱腹感,每道美食能提供的饱腹感不会超过
.
对于每组测试数据,输出一行一个整数代表牛牛在不吃撑的前提下,最多能吃多少根红薯。
2 1 10 10 1 10 11
1 0
#include<iostream>
#include<cstring>
using namespace std;
const int N = 3010;
int f[N];
int t, n, m;
int main() {
cin >> t;
while(t--) {
memset(f, 0, sizeof f);
cin >> n >> m;
for(int i=0;i<n;i++) {
int x;
cin >> x;
for(int j=m;j>=x;j--) f[j] = max(f[j], f[j - x] + 1);
}
cout << f[m] << endl;
}
}