Submission #847814

#TimeUsernameProblemLanguageResultExecution timeMemory
847814dubabubaKnapsack (NOI18_knapsack)C++14
73 / 100
1062 ms2700 KiB
#include<bits/stdc++.h> using namespace std; #define int long long const int mxn = 1e5 + 10; const int mxs = 2000 + 9; int dp[2][mxs], n, s, ans; int pr[mxn], we[mxn], am[mxn]; signed main() { cin.tie(0)->sync_with_stdio(0); cin >> s >> n; for(int i = 1; i <= n; i++) cin >> pr[i] >> we[i] >> am[i]; for(int i = 1; i <= n; i++) for(int j = 0; j <= s; j++) { int cur = i & 1; int prv = (i - 1) & 1; for(int k = 0; k <= am[i] && k * we[i] <= j; k++) dp[cur][j] = max(dp[cur][j], dp[prv][j - we[i] * k] + pr[i] * k); ans = max(ans, dp[cur][j]); } cout << ans << '\n'; 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...