제출 #501819

#제출 시각아이디문제언어결과실행 시간메모리
501819alexddKnapsack (NOI18_knapsack)C++17
0 / 100
1 ms304 KiB
#include<iostream>
using namespace std;
int dp[2001],dp2[2001];
int main()
{
    int s,n,v,w,k;
    cin>>s>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>v>>w>>k;
        for(int j=1;j<=s;j++)
        {
            for(int m=1;m<=k;m++)
            {
                if(j+m*w>s)
                    break;
                dp2[j+m*w]=max(dp2[j+m*w], dp[j]+m*v);
            }
        }
        for(int j=1;j<=s;j++)
        {
            dp[j]=dp2[j];
        }
    }
    int maxim=-1;
    for(int i=1;i<=s;i++)
    {
        if(dp[i]>maxim)
            maxim=dp[i];
    }
    cout<<maxim;
}
#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...