Submission #1219495

#TimeUsernameProblemLanguageResultExecution timeMemory
1219495prado.joaoKnapsack (NOI18_knapsack)C++20
73 / 100
1095 ms1864 KiB
#include <iostream> using namespace std; const int MAXN = 100000; int V[MAXN]; int W[MAXN]; int K[MAXN]; int dp[2][MAXN + 1]; int main() { int S, N; cin >> S >> N; for (int i = 0; i < N; i++) { int Vi, Wi, Ki; cin >> Vi >> Wi >> Ki; V[i] = Vi; W[i] = Wi; K[i] = Ki; } int prev = 0, act = 1; for (int c = 0; c <= N; c++) { dp[prev][c] = 0; } for (int i = 0; i < N; i++) { for (int j = 0; j <= S; j++) { dp[act][j] = dp[prev][j]; for (int qty = 1; qty <= K[i] && qty * W[i] <= j; qty++) { dp[act][j] = max(dp[act][j], dp[prev][j - qty * W[i]] + qty * V[i]); } } swap(act, prev); } cout << dp[prev][S]; 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...