用的是状态压缩
#include<bits/stdc++.h>
using namespace std;
int d[15],f[15],s[15],zx=1e9;//a题,f作业时间,s作业数
int main(){
int n,m,k,r;
cin>>n>>m>>k>>r;
for(int i=0;i<n;i++) cin>>d[i];
for(int i=0;i<m;i++) cin>>f[i];
for(int i=0;i<m;i++) cin>>s[i];
for(int i=0;i<(1<<m);i++){
int tf=0,ts=0;
for(int j=0;j<m;j++){
if((i&(1<<j))>0){
ts+=s[j];
tf+=f[j];
}
}
if(ts>=k){
zx=min(zx,tf);
}
}
r=r-zx;
sort(d,d+n);
int ans=0;
for(int i=0;i<n;i++){
if(r>=d[i]){
ans++;
r-=d[i];
}
}
cout<<ans<<endl;
return 0;
}