Submission #652327

#TimeUsernameProblemLanguageResultExecution timeMemory
652327lamKnapsack (NOI18_knapsack)C++14
0 / 100
1 ms340 KiB
#include <bits/stdc++.h> #define int long long #define taskname "feast" using namespace std; const int maxn = 1e6 + 10; typedef pair<int,int> ii; #define ff first #define ss second int x,n; int v[maxn],w[maxn],k[maxn]; ii dp[maxn]; signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin>>x>>n; for (int i=1; i<=n; i++) cin>>v[i]>>w[i]>>k[i]; for (int i=1; i<=n; i++) { for (int j=0; j<=x; j++) dp[j].ss=0; for (int j=w[i]; j<=x; j++) if (dp[j-w[i]].ss<k[i]) dp[j]=max(dp[j],{dp[j-w[i]].ff + v[i], dp[j-w[i]].ss-1}); } int ans=0; for (int i=0; i<=x; i++) ans=max(ans,dp[i].ff); cout<<ans; }
#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...