P5365
#include<bits/stdc++.h>
using namespace std;
long long f[1000000],c[1000001],k[1000001];
int main() {
long long n,m,i,j,w,tot;
cin>>n>>m;
for(i=1; i<=n; i++) cin>>k[i];
for(i=1; i<=n; i++) {
cin>>c[i];
tot+=c[i]*k[i];
}
f[1]=1;
for(i=1; i<=n; i++) {
for(j=tot; j; j--) {
for(w=1; w<=k[i]; w++) {
if(j-w*c[i]>=0)
f[j]=max(f[j],f[j-w*c[i]]*w);
}
}
}
for(i=1;; i++) {
if(f[i]>=m) {
cout<<i;
return 0;
}
}
}
求求大佬们