Submission #1272793

#TimeUsernameProblemLanguageResultExecution timeMemory
1272793kongpob7kKnapsack (NOI18_knapsack)C++20
73 / 100
1094 ms2708 KiB
#include <bits/stdc++.h> using namespace std; #define int long long struct A{ int vi,wi,ki; }a[100010]; int dp[2010]; int32_t main(){ cin.tie(nullptr)->sync_with_stdio(false); int s,n; cin >> s >> n; for(int i=1;i<=n;i++){ cin >> a[i].vi >> a[i].wi >> a[i].ki; a[i].ki=min(a[i].ki,s/a[i].wi); } for(int i=1;i<=n;i++){ for(int j=1;j<=a[i].ki;j++){ for(int k=s;k>=0;k--){ if(k-a[i].wi>=0)dp[k]=max(dp[k],dp[k-a[i].wi]+a[i].vi); } } } cout << dp[s] << '\n'; 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...