Submission #1350294

#TimeUsernameProblemLanguageResultExecution timeMemory
1350294vjudge1Knapsack (NOI18_knapsack)C++20
100 / 100
680 ms460 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define fi first
#define se second
#define pi pair

vector<ll> dp(3000,0);

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

    ll s,n;
    cin>>s>>n;


    for(int i=1;i<=n;i++)
    {
        ll u,v,k;
        cin>>u>>v>>k;

        for(int t=1;k>0;t<<=1)
        {
            ll cnt = min((ll)t,k);
            k -= cnt;

            ll w = cnt * v;
            ll val = cnt*u;

            for(int j=s;j>=w;j--)
            {
                dp[j] = max(dp[j] , dp[j-w] + val);
            }
        }
    }

    cout<<dp[s];

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