Submission #501822

#TimeUsernameProblemLanguageResultExecution timeMemory
501822alexddKnapsack (NOI18_knapsack)C++17
73 / 100
1083 ms460 KiB
#include<iostream> using namespace std; int dp[2001],dp2[2001]; int main() { int s,n,v,w,k; cin>>s>>n; for(int i=1;i<=n;i++) { cin>>v>>w>>k; for(int j=0;j<=s-w;j++) { for(int m=1;m<=k;m++) { if(j+m*w>s) break; dp2[j+m*w]=max(dp2[j+m*w], dp[j]+m*v); } } for(int j=1;j<=s;j++) { dp[j]=dp2[j]; } } int maxim=-1; for(int i=1;i<=s;i++) { if(dp[i]>maxim) maxim=dp[i]; } cout<<maxim; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...