Submission #839088

#TimeUsernameProblemLanguageResultExecution timeMemory
839088detroiddhKnapsack (NOI18_knapsack)C++17
73 / 100
173 ms20564 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; const ll maxn = 2003; const ll mod = 1e9 + 7; struct TPair { ll v , w , k; }; ll dp[maxn][maxn] , inf = 1e18; TPair a[maxn]; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); //freopen("","r",stdin); //freopen("","w",stdout); int s , n; cin>>s>>n; for(int i = 1 ; i <= n ; ++i) cin>>a[i].v>>a[i].w>>a[i].k; ll kq = 0; for(int i = 1 ; i <= s ; ++i) dp[0][i] = -inf; dp[0][0] = 0; for(int i = 1 ; i <= n ; ++i) { for(int j = 1 ; j <= s ; ++j) { dp[i][j] = -inf; for(int h = 0 ; h <= a[i].k ; ++h) { ll so1 = a[i].w * h , so2 = a[i].v * h; if(so1 > j) break; dp[i][j] = max(dp[i][j] , dp[i - 1][j - so1] + so2); kq = max(kq , dp[i][j]); } } } cout<<kq; }
#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...