样例不过,求助!!!
查看原帖
样例不过,求助!!!
978540
GreenRabbit楼主2023/10/3 16:38

输出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;
}
2023/10/3 16:38
加载中...