输出4个0!!!求助!!!
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e6+7;
int f[1000010];
int a[maxn],b[maxn],val[maxn],w[maxn];
int main()
{
cin.tie(0);
cout.tie(0);
std::ios::sync_with_stdio(false);
//srand((unsigned)time(NULL));
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
int t;
cin>>t;
while(t--)
{
memset(f,0,sizeof f);
memset(w,0x3f,sizeof w);
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
a[i]=1;
for(int i=1;i<=n;i++)
cin>>b[i];
for(int i=1;i<=n;i++)
cin>>val[i];
for(int i=1;i<=1000;i++)
for(int j=1;j<=i;j++)
w[i+i/j]=min(w[i+i/j],w[i]+1);
for(int i=1;i<=n;i++)
for(int j=m;j>=0;j--)
if(j>=w[b[i]])
f[j]=max(f[j],f[j-w[b[i]]]+val[i]);
cout<<f[m]<<endl;
}
return 0;
}