Submission #1342502

#TimeUsernameProblemLanguageResultExecution timeMemory
1342502darkshadowzKnapsack (NOI18_knapsack)C++20
73 / 100
1095 ms460 KiB
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
#define int long long
using namespace std;

int dp[2069];

signed main(){

    cin.tie(0); ios::sync_with_stdio(0);
    int w, n; cin >> w >> n;
    for(int i=1; i<=n; i++){
        int v, a, k; cin >> v >> a >> k;
        for(int j=1; k>0; j<<=1){
            int W = a*min(j,k), V = v*min(j,k);
            for(int x=w; x-W>=0; x--)
                dp[x] = max(dp[x], dp[x-W]+V);
            k -= j;
        }
    }
    cout << dp[w];

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