제출 #1298688

#제출 시각아이디문제언어결과실행 시간메모리
1298688xoikhucKnapsack (NOI18_knapsack)C++20
37 / 100
1095 ms2768 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int s,n; struct item{ int v,w,k; item():v(0),w(0),k(0) {} item(int V,int W,int K):v(V),w(W),k(K) {} }; vector<item> items(100001); int dp[2001]; signed main(){ ios_base::sync_with_stdio(0);cin.tie(0); cin>>s>>n; for(int i=1;i<=n;i++){ int v,w,k; cin>>v>>w>>k; items[i]=item(v,w,k); } for(int i=1;i<=n;i++){ int v=items[i].v, w=items[i].w, k=items[i].k; for(int j=2000;j>=w;j--){ //weight for(int p=1;p<=k;p++){ //number of copies if(j-p*w==0) dp[p*w]=max(dp[p*w],p*v); else if(j-p*w>0) dp[j]=max(dp[j],dp[j-p*w]+p*v); } } } cout<<dp[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...