제출 #723873

#제출 시각아이디문제언어결과실행 시간메모리
723873ivazivaKnapsack (NOI18_knapsack)C++14
37 / 100
1078 ms1876 KiB
#include <bits/stdc++.h>

using namespace std;

#define MAXN 110
#define MAXM 2010

long long n;
long long s;
long long v[MAXN];
long long w[MAXN];
long long k[MAXN];
long long dp[MAXN][MAXM];

int main()
{
    cin>>s>>n;
    for (long long i=1;i<=n;i++) cin>>v[i]>>w[i]>>k[i];
    for (long long i=1;i<=n;i++)
    {
        for (long long ii=1;ii<=s;ii++)
        {
            dp[i][ii]=dp[i-1][ii];
            for (long long iii=1;iii<=k[i];iii++)
            {
                if (ii>=iii*w[i]) dp[i][ii]=max(dp[i][ii],dp[i-1][ii-iii*w[i]]+iii*v[i]);
            }
        }
    }
    long long maks=0;
    for (long long i=1;i<=s;i++) maks=max(maks,dp[n][i]);
    cout<<maks<<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...