Submission #1058790

#TimeUsernameProblemLanguageResultExecution timeMemory
1058790GuessWhoHas2CatsKnapsack (NOI18_knapsack)C++14
73 / 100
142 ms262144 KiB
#include<bits/stdc++.h> using namespace std; int main() { int S, n; cin >> S >> n; vector<int>w(n + 1), v(n + 1), k(n + 1); for(int i = 1; i <= n; i ++) cin >> w[i] >> v[i] >> k[i]; vector<vector<int>>dp(n + 1, vector<int>(S + 1, 0)); for(int i = 1; i <= n; i ++) { for(int j = 1; j <= S; j ++) { dp[i][j] = dp[i - 1][j]; for(int kk = 1;kk <= k[i] && (j - v[i] * kk >= 0); kk ++) { dp[i][j] = max(dp[i - 1][j - kk * v[i]] + kk * w[i], dp[i][j]); } } } cout << *max_element(dp[n].begin(), dp[n].end()); 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...