Submission #1329499

#TimeUsernameProblemLanguageResultExecution timeMemory
1329499scalifrastico_098Knapsack (NOI18_knapsack)C++20
37 / 100
1095 ms344 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int 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 o=1; o<=k; o++)
            {
                if(j+o*y>w)continue;
                if(dp[j]+o*v>dp[j+o*y])dp[j+o*y]=max(dp[j+o*y], dp[j]+o*v);
                else break;
            }
        }
    }
    ll u=0; for(ll i=0; i<=w; i++)u=max(u, dp[i]); 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...