제출 #1162086

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

#include <iostream>
#include <vector>

using namespace std;
#define int long long 
int dp[(int)1e5+5][(int)2005];
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];
            int x=1;
            while(x<=k[i] && x*w[i]<=j){
                dp[i][j]=max(dp[i][j], dp[i-1][j-x*w[i]]+x*v[i]);
                x++;
            }
            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...