SOS!全RE!
查看原帖
SOS!全RE!
751572
Jason_LiDongJin楼主2023/10/8 22:17
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,k,r,t[155],ht[155],hp[155],ans;
void dfs(int s,int sum,int ti){
    if(ti>=r)return;
    if(s>n){
        if(sum>=k){
            ans=min(ans,ti);
            return;
        }
    }
    dfs(s+1,sum+hp[s],ti-ht[s]);
    dfs(s+1,sum,ti);
}
signed main(){
    cin>>n>>m>>k>>r;
    for(int i=1;i<=n;i++)cin>>t[i];
    sort(t+1,t+n+1);
    for(int i=1;i<=m;i++)cin>>ht[i];
    for(int i=1;i<=m;i++)cin>>hp[i];
    dfs(1,0,0);
    int t_lft=r-ans,cnt=0;
    for(int i=1;i<=n;i++){
        if(t_lft>=t[i])cnt++,t_lft-=t[i];
        else break;
    }
    cout<<cnt;
	return 0;
}
2023/10/8 22:17
加载中...