제출 #1332792

#제출 시각아이디문제언어결과실행 시간메모리
1332792yumemysteryKnapsack (NOI18_knapsack)C++20
37 / 100
1 ms344 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    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...