@[Biyaotian](/user/940379) 您把输入的数组打出来就知道挂哪里了
by PAVIC_victor @ 2024-03-28 09:39:53
@[Biyaotian](/user/940379) 代码里换行了不代表你的输入流也会跟着一次读两行,输入分成两个for
by PAVIC_victor @ 2024-03-28 09:43:15
ooo,@[PAVIC_victor](/user/705725)
谢谢你,互关?
by Biyaotian @ 2024-03-28 15:54:52
```cpp
#include<bits/stdc++.h>
using namespace std;
int dp[1010]={0};
int lk[11],hws[11],hwt[11];
int n,m,r,k,ans;
int main(){
cin>>n>>m>>k>>r;
for(int i=1;i<=n;i++){
cin>>lk[i];
}
for(int i=1;i<=m;i++){
cin>>hwt[i];
}
for(int i=1;i<=m;i++){
cin>>hws[i];
}
for(int i=1;i<=m;i++){
for(int j=r;j>=hwt[i];j--){
dp[j]=max(dp[j],dp[j-hwt[i]]+hws[i]);
}
}
for(int i=1;i<=r;i++){
if(dp[i]>=k){
r-=i;
break;
}
sort(lk+1,lk+1+n);
}
for(int i=1;i<=n;i++){
if(r-lk[i]<0){
break;
}
r-=lk[i];
ans++;
}
cout<<ans;
return 0;
}
```
过啦!!!Thanks♪(・ω・)ノ
by Biyaotian @ 2024-03-28 15:57:44
ok
by PAVIC_victor @ 2024-03-29 07:42:10