Submission #1332790

#TimeUsernameProblemLanguageResultExecution timeMemory
1332790yumemysteryKnapsack (NOI18_knapsack)C++20
37 / 100
1 ms344 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    int W,n;
    cin >> W >> n;

    vector<int>dp(W+1,0);
    
    for (int i=0; i<n; i++) {
        int v,w,k;
        cin >> v >> w >> k;
        
        int c = 1;
        
        while (k >= c) {
            for (int j = W; j>=c*w; j--) dp[j] = max(dp[j],dp[j-c*w]+c*v);
            k-=c;
            c <<= 1;
        }

        for (int j = W; j>=k*w; j--) dp[j] = max(dp[j],dp[j-k*w]+k*v);
    }    

    cout << dp[W];
}
#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...