RE求救(只过了三个点
查看原帖
RE求救(只过了三个点
389540
imfkwk楼主2020/12/29 14:36
#include <bits/stdc++.h>
using namespace std;
int n,m,w,ans;
int k[1000001],c[1000001];

void in(){
	cin>>n>>m;
	for(int i=1;i<=n;i++)cin>>k[i];
	for(int i=1;i<=n;i++)cin>>c[i];
	for(int i=1;i<=n;i++)w+=k[i]*c[i];
}

int f[1000001];

void solve(){
	f[0]=1;
	for(int i=1;i<=n;i++){
		for(int j=w;j>=0;j--){
			for(int l=0;l<=k[i]&&c[i]*l<=j;l++){
				f[j]=max(f[j],f[j-c[i]*l]*l);
			}
		}
	}
	for(int i=1;;i++){
		if(f[i]>=m){
			cout<<i;
			return;
		}
	}
}

int main(){
	in();
	solve();
	return 0;
}```
2020/12/29 14:36
加载中...