Submission #1329776

#TimeUsernameProblemLanguageResultExecution timeMemory
1329776scalifrastico_098Knapsack (NOI18_knapsack)C++20
100 / 100
305 ms444 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
signed main() {
	ll w, n; cin>>w>>n; vector<ll> dp(w+1, 0);
    for(ll i=0; i<n; i++)
    {
        ll v, y, k; cin>>v>>y>>k;
        for(ll j=w; j>=0; j--)
        {
            for(ll u=1; u<=k; u++)
            {
                if(j+u*y>w)break;
                if(dp[j+u*y]<dp[j]+u*v)dp[j+u*y]=max(dp[j+u*y], dp[j]+u*v);
                else break;
            }
        }
    }
    ll u=0; for(ll i=0; i<=w; i++)u=max(dp[i], u); cout<<u<<endl;
}
#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...