SOS!全RE!

P1926 小书童——刷题大军

错点有很多,首先ans初值不是0,而且7行s>n不对,是s>m,13行ti是加上ht[s],return应在8行判断的外面 @[Jason_LiDongJin](/user/751572)
by Sunshine_su @ 2023-10-19 20:56:07


完整代码: ```cpp #include<bits/stdc++.h> #define int long long using namespace std; int n,m,k,r,t[155],ht[155],hp[155],ans=9e9; void dfs(int s,int sum,int ti){ if(ti>=r)return; if(s>m){ 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; } ```
by Sunshine_su @ 2023-10-19 20:58:54


~~给个关注呗~~
by Sunshine_su @ 2023-10-19 20:59:37


|