제출 #1254491

#제출 시각아이디문제언어결과실행 시간메모리
1254491shakilinnovateKnapsack (NOI18_knapsack)C++20
73 / 100
1095 ms412 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main() { ll S,N; cin>>S>>N; vector<ll>dp(S+1,0); for(int i=0; i<N ; i++) { ll v,w,k; cin>>v>>w>>k; for(ll cnt=1;k>0;cnt<<=1) { ll take=min(cnt,k); k-=take; ll tlt_v=v*take; ll tlt_w=w*take; for(ll j=S;j>=tlt_w;j--) { dp[j]=max(dp[j],dp[j-tlt_w]+tlt_v); } } } cout<<*max_element(dp.begin(),dp.end())<<endl; }
#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...