Submission #1161838

#TimeUsernameProblemLanguageResultExecution timeMemory
1161838CiprianKnapsack (NOI18_knapsack)C++20
17 / 100
1 ms1864 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int dp[(int)1e5+5][(int)2005]; bool dp1[(int)1e5+5][(int)2005]; int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); int s,n; cin>>s>>n; vector<int>v(n+1),w(n+1),k(n+1); for(int i=1; i<=n; i++){ cin>>v[i]>>w[i]>>k[i]; }int mx=0; if(n==1){ int r=s/w[1]; if(k[1]*w[1]<=s)cout<<k[1]*v[1]<<endl; else{ for(int i=k[1]; i>=0; i--){ if(i*w[1]<=s){ cout<<i*v[1]<<endl; break; } } } }else{ for(int i=1; i<=n; i++){ for(int j=0; j<=s; j++){ dp[i][j]=dp[i-1][j]; if(j-w[i]>=0)dp[i][j]=max(dp[i][j], dp[i-1][j-w[i]]+v[i]); mx=max(mx, dp[i][j]); } } } cout<<mx<<endl; return 0; }
#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...