제출 #1161844

#제출 시각아이디문제언어결과실행 시간메모리
1161844CiprianKnapsack (NOI18_knapsack)C++20
73 / 100
388 ms327680 KiB

#include <iostream>
#include <vector>

using namespace std;
#define int long long 
int dp[(int)1e5+5][(int)2005];
vector<int>v((int)1e5+5),w((int)1e5+5),k((int)1e5+5);
int32_t main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int s,n;
    cin>>s>>n;
    
    for(int i=1; i<=n; i++){
        cin>>v[i]>>w[i]>>k[i];
        
    }int mx=0;
    
    for(int i=1; i<=n; i++){
        for(int j=0; j<=s; j++){
            dp[i][j]=dp[i-1][j];
            for(int x=1; x<=min(j/w[i], k[i]); x++){
            if(j-x*w[i]>=0)dp[i][j]=max(dp[i][j], dp[i-1][j-x*w[i]]+x*v[i]);
            }
            mx=max(mx, dp[i][j]);
        }
    }cout<<mx<<endl;
    
    
    return 0;
}
#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...