Submission #438613

#TimeUsernameProblemLanguageResultExecution timeMemory
438613HaidaraKnapsack (NOI18_knapsack)C++17
73 / 100
1091 ms41420 KiB
#include<bits/stdc++.h> #define rep(i,x,n) for(int i=x;i<n;i++) #define FOR(i,n) rep(i,0,n) using namespace std;int s,n,v[100001],w[100001],k[100001],dp[100001][2001];int solve(int inx=0,int curr=0){if(dp[inx][curr])return dp[inx][curr];for(int i=0;i<=k[inx];i++){if(curr+i*w[inx]<=s)dp[inx][curr]=max(dp[inx][curr],(inx!=n-1?solve(inx+1,curr+i*w[inx]):0)+i*v[inx]);else break;}return dp[inx][curr];}signed main(){cin>>s>>n;for(int i=0;i<n;i++)cin>>v[i]>>w[i]>>k[i],k[i]=min(k[i],s/w[i]);cout<<solve();}
#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...