| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1331930 | piolk | Knapsack (NOI18_knapsack) | C++20 | 1 ms | 348 KiB |
#include <bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int s,n;
cin>>s>>n;
vector<tuple<int,int,int>> l(n);
for (int i=0;i<n;i++){
int v,w,k;
cin>>v>>w>>k;
l[i]={v,w,k};
}
vector<long long> dp(s+7,-1); //max value with weight
dp[0]=0;
for (auto [v,w,k]:l){
vector<int> uses(s+7);
for (int i=w;i<=s;i++){
if (dp[i-w]==-1) continue;
if (uses[i-w]>=k) continue;
if (dp[i-w]+v>dp[i] || dp[i]==-1){
dp[i]=dp[i-w]+v;
uses[i]=uses[i-w]+1;
}
}
}
long long ans=0;
for (int i=0;i<=s;i++) ans=max(ans,dp[i]);
cout<<ans<<"\n";
return 0;
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
