Submission #1241643

#TimeUsernameProblemLanguageResultExecution timeMemory
1241643ak5028Knapsack (NOI18_knapsack)C++20
0 / 100
1 ms328 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long  int ll;

int main(){
   ll s,n;cin>>s>>n;
   vector<ll>a,val,times;
   for(ll i=1;i<=n;i++){
      ll v,w,k;
      cin>>v>>w>>k;
      val.push_back(v);
      a.push_back(w);
      times.push_back(k);
   }
   vector<ll>dp(s+1);
   dp[0]=0;
   for(ll i=0;i<n;i++){
      for(ll f=1;f<=times[i];f++){
         ll r=a[i]*f;
         ll h=val[i]*f;
         if(r>s){break;}
         dp[r]=max(dp[r],h);
      }
      for(ll j=s;j>=a[i];j--){
         dp[j]=max(dp[j],dp[j-a[i]]+val[i]);
      }
   }
   cout<<dp[s];
}
#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...