Submission #1297903

#TimeUsernameProblemLanguageResultExecution timeMemory
1297903lunarechoKnapsack (NOI18_knapsack)C++20
0 / 100
2 ms2104 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long int n,s; ll dp[105][2005], v[105], k[105]; int w[105]; ll dp_(int i, int wt){ if(i==0 || wt==0) return 0; if(dp[i][wt] != -1) return dp[i][wt]; ll nt = dp_(i-1, wt); ll t = 0; for(ll j=1;j<=k[i];++j) if(j * w[i] <= wt) t = max(t, dp_(i-1, wt-j*w[i]) + j * v[i]); return dp[i][wt] = max(nt, t); } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cin>>n>>s; for(int i=1;i<=n;++i) cin>>v[i]>>w[i]>>k[i]; memset(dp,-1,sizeof(dp)); cout<<dp_(n,s); return 0; }
#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...