Submission #1298303

#TimeUsernameProblemLanguageResultExecution timeMemory
1298303aslayeryl81Knapsack (NOI18_knapsack)C++20
73 / 100
1095 ms660 KiB
#include <bits/stdc++.h> #define int long long using namespace std; signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int s, n; cin >> s >> n; vector<int> dp(s + 1, 0); while(n--) { int v, w, k; cin >> v >> w >> k; if(w > s) continue; int maxx = s / w; if(k > maxx) k = maxx; for(int p = 1; k > 0; p <<= 1) { int t = min(p, k); k -= t; int x = t * w; int val = t * v; for(int j = s; j >= x; j--) dp[j] = max(dp[j], dp[j - x] + val); } } cout << dp[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...