Submission #1241429

#TimeUsernameProblemLanguageResultExecution timeMemory
1241429samarmahfoozKnapsack (NOI18_knapsack)C++20
17 / 100
1 ms328 KiB
#include <bits/stdc++.h> #define int long long using namespace std; int s,n; vector<int> value, weight, copies; void solve(){ cin>>s>>n; value.resize(n+1); copies.resize(n+1); weight.resize(n+1); int maxi = 0; for(int i=0;i<n;i++){ cin>>value[i]>>weight[i]>>copies[i]; maxi = max(maxi, copies[i]); } vector<int> dp(s+1,0); for(int i=0;i<n;i++){ for(int j=s;j>=0;j--){ for(int c = 0;(1LL<<c)<=copies[i];c++){ if(j>=(1LL<<c)*weight[i]) dp[j] = max(dp[j], ((1LL<<c)*value[i]) + dp[j - (1LL<<c)*weight[i]]); } } } cout<<dp[s]<<"\n"; } signed main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n_test = 1; // cin>>n_test; while(n_test--){ solve(); } }
#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...