what????!!!! 10分1

P1048 [NOIP2005 普及组] 采药

数组开小了 ```cpp #include<bits/stdc++.h> using namespace std; const int MAX=1005; int T,M,c[MAX],v[MAX],w[MAX]; int main() { cin>>T>>M; for(int i=1;i<=M;i++) cin>>w[i]>>c[i]; for(int i=1;i<=M;i++){ for(int j=T;j>=w[i];j--){ v[j]=max(v[j],v[j-w[i]]+c[i]); } } cout<<v[T]; }
by Null_h @ 2023-08-31 17:44:01


@[my_name_is_my_name](/user/1044914) 题面说明: 1≤T≤1000 , 所以你 v [ ] 数组开小了\ 附微调代码: ```cpp #include<bits/stdc++.h> using namespace std; const int MAX=105; int T,M,c[MAX],v[2000],w[MAX]; int main() { cin>>T>>M; for(int i=1;i<=M;i++) cin>>w[i]>>c[i]; for(int i=1;i<=M;i++){ for(int j=T;j>=w[i];j--){ v[j]=max(v[j],v[j-w[i]]+c[i]); } } cout<<v[T]; } ```
by wunaidedanjuan @ 2023-08-31 17:44:23


@[wunaidedanjuan](/user/951032) @[kdqs8218](/user/705712) 谢谢
by yejuncenyyds @ 2023-08-31 17:50:42


|