Submission #1307288

#TimeUsernameProblemLanguageResultExecution timeMemory
1307288ninstroyerKnapsack (NOI18_knapsack)C++20
0 / 100
1 ms716 KiB
#include<bits/stdc++.h> using namespace std; const int wx = 2005; int n,s,dp[2][wx]; vector<tuple<int,int>> items; int main() { ios::sync_with_stdio(false); cin.tie(0); cin>>s>>n; for(int i = 0; i < n; i++) { int v,we,k; cin>>v>>we>>k; for(int i = 0; i < min(k,2000/we); i++) { items.push_back({v,we}); } } for(int i = 0; i < items.size(); i++) { int cur = i%2, prev = 1-cur; for(int j = 0; j <= s; j++) { auto [vl, w] = items[i]; dp[cur][j] = dp[prev][j]; if(w > j) continue; dp[cur][j] = max(dp[cur][j], dp[prev][j-w]+vl); } } cout<<dp[items.size()%2][s]; }
#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...