Submission #1316568

#TimeUsernameProblemLanguageResultExecution timeMemory
1316568the_hanged-manKnapsack (NOI18_knapsack)C++20
73 / 100
1096 ms432 KiB
#include <bits/stdc++.h>

using ll=long long;
#define vi vector<int>
#define vll vector<ll>
#define all(v) (v).begin(),(v).end()
#define rall(v) (v).rbegin(),(v).rend()
const int MOD = 1000000007;
using namespace std;

ll dp[2001];

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int s,n;
    cin>>s>>n;
    for(int i=0;i<n;i+=1){
        int v,w,k;
        cin>>v>>w>>k;
        for(int j=0;j<min(k,s/w);j+=1){
            for(int z=s;z>=w;z-=1)
                dp[z]=max(dp[z],dp[z-w]+v);
        }
    }
    ll ans=0;
    for(int i=0;i<=s;i+=1)
        ans=max(ans,dp[i]);
    cout<<ans;
    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...