Submission #1352478

#TimeUsernameProblemLanguageResultExecution timeMemory
1352478vjudge1Knapsack (NOI18_knapsack)C++17
37 / 100
0 ms344 KiB
#include <bits/stdc++.h>

using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int S, N;
    cin >> S >> N;
    vector<int> dp(S + 1, 0);
    for (int i = 0; i < N; i++) {
        int V, W, K;
        cin >> V >> W >> K;
        for (int k = 1; K > 0; k <<= 1) {
            int take = min(k, K);
            int weight = W * take;
            int value = V * take;
            for (int w = S; w >= weight; w--) {
                dp[w] = max(dp[w], dp[w - weight] + value);
            }
            K -= take;
        }
    }
    cout << dp[S];
}
#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...