背包哪里出了问题

P1926 小书童——刷题大军

#### 题目的要求是后两行输入每道作业的时间和分值;但,你把两个数组合起来输入,就导致了两个数组(分值和时间)混乱,只要把s数组和f数组分别输入就好啦qwq ```cpp #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int t[20],s[20],f[20],l[200]; int main() { int n,m,k,r,sum=0; cin>>n>>m>>k>>r; for(int i=1;i<=n;i++)cin>>t[i]; for(int j=1;j<=m;j++)cin>>s[j]; for(int j=1;j<=m;j++)cin>>f[j]; for(int i=1;i<=m;i++) for(int j=r;j>=s[i];j--) l[j]=max(l[j],l[j-s[i]]+f[i]); for(int i=1;i<=r;i++) { if(l[i]>k) { r=r-i; break; } } sort(t+1,t+n+1); for(int i=1;i<=n;i++) { if(r>t[i]) { r-=t[i]; sum++; } else break; } cout<<sum<<endl; return 0; } ``` ~~代码献上~~
by MMM_JiaoFu @ 2022-07-19 19:09:45


我一直以为是背包的问题qwq 感谢解答 orz orz orz
by CSZD @ 2022-07-21 09:16:12


|