Submission #1023641

#TimeUsernameProblemLanguageResultExecution timeMemory
1023641vjudge1Knapsack (NOI18_knapsack)C++14
0 / 100
1 ms348 KiB
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
    int N,S;
    cin>>N>>S;
    vector<int> dp(S+1,0);
    for(int i=0; i<N; ++i) {
        int V,W,K;
        cin>>V>>W>>K;
        for(int j=1; K>0; j<<=1) {
            int count=min(j,K);
            K-=count;
            int weight=W*count;
            int value=V*count;
            for(int w=S; w>=weight; --w) {
                dp[w]=max(dp[w],dp[w-weight]+value);
            }
        }
    }
    cout<<dp[S]<<endl;
    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...