제출 #920547

#제출 시각아이디문제언어결과실행 시간메모리
920547AndrijaMKnapsack (NOI18_knapsack)C++14
0 / 100
1 ms412 KiB
#include <bits/stdc++.h> using namespace std; long long s,n; vector<pair<long long,pair<long long,long long>>>x; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cin>>s>>n; long long dp[s+1]; long long D[s+1]; memset(D,0,sizeof D); memset(dp,0,sizeof dp); for(long long i=0;i<n;i++) { long long v,w,k; cin>>v>>w>>k; x.push_back({v,{w,k}}); } for(long long i=0;i<n;i++) { for(int idx=0;idx<s+1;idx++) { D[idx]=dp[idx]; } for(long long j=1;j<=min(s,x[i].second.second);j++) { if(s-j*x[i].second.first<=0)break; for(long long p=s;p>=j*x[i].second.first;p--) { dp[p]=max(dp[p],D[p-j*x[i].second.first]+j*x[i].first); } } } cout<<dp[s]<<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...