答案对了为啥wa,求助求助

P1926 小书童——刷题大军

倒数第二个循环 ```cpp for (int i=1;i<=m;i++) if(f[i]>k){ ti=r-i; break; } ``` m改成r ```cpp > ``` 改成 >=
by Cang_shu @ 2022-07-19 19:14:11


```cpp #include<bits/stdc++.h> using namespace std; int a[1145],c[1145],w[1145],f[1145]; int main(){ int n,m,k,r; cin>>n>>m>>k>>r; for (int i=1;i<=n;i++) cin>>a[i]; for (int i=1;i<=m;i++) cin>>c[i]; for (int i=1;i<=m;i++) cin>>w[i]; for (int i=1;i<=n;i++){ for (int j=r;j>=c[i];j--){ f[j]=max(f[j],f[j-c[i]]+w[i]); } } sort(a+1,a+n+1); int ti; for (int i=1;i<=r;i++) if(f[i]>=k){ ti=r-i; break; } int ans=0; for (int i=1;i<=n;i++){ if(ti>=a[i]){ ti-=a[i]; ans++; if(ti<=0) break; } } cout<<ans<<endl; return 0; } ```
by Cang_shu @ 2022-07-19 19:20:44


这个行
by Cang_shu @ 2022-07-19 19:21:02


|