Submission #1290098

#TimeUsernameProblemLanguageResultExecution timeMemory
1290098hahaKnapsack (NOI18_knapsack)C++20
37 / 100
1093 ms1864 KiB
#include <bits/stdc++.h>
#define f first
#define s second
#define ll long long
using namespace std;
const int maxn=1e2+5;

int n,S;
int v[maxn],w[maxn],k[maxn];
ll dp[maxn][2005];

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cin>>S>>n;
    for(int i=1;i<=n;i++) cin>>v[i]>>w[i]>>k[i];
    dp[0][0]=0;
    for(int i=1;i<=n;i++){
        for(int s=0;s<=S;s++){
            dp[i][s]=dp[i-1][s];
            for(int j=1;j<=k[i];j++){
                if(s-j*w[i]>=0){
                    dp[i][s]=max(dp[i][s],dp[i-1][s-j*w[i]]+v[i]*j);
                }
            }
        }
    }
    ll ans=0;
    for(int i=1;i<=S;i++) ans=max(ans,dp[n][i]);
    cout<<ans;

}

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