제출 #1151935

#제출 시각아이디문제언어결과실행 시간메모리
1151935kadirKnapsack (NOI18_knapsack)C++20
73 / 100
1095 ms15940 KiB
#include<bits/stdc++.h> #define int long long #define ss second #define ff first #define pb push_back const int mxn=1e6+5; const int mod=998244353; using namespace std; int s,n,c; int v[mxn+30],w[mxn+30]; int dp[2005]; signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>s>>n; for(int i=1; i<=n; i++) { int wi,vi,ki; cin>>vi>>wi>>ki; int t=1; while(ki>=t) { c++; v[c]=vi*t; w[c]=wi*t; ki-=t; t*=2; } if(ki>0) { c++; v[c]=vi*ki; w[c]=wi*ki; } } for(int i=1; i<=c; i++) { for(int j=s; j>=w[i]; j--) { dp[j]=max(dp[j],dp[j-w[i]]+v[i]); } } 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...