#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int wx = 2005;
ll n,s,dp[2][wx];
vector<tuple<ll,ll>> items;
int main()
{
ios::sync_with_stdio(false); cin.tie(0);
cin>>s>>n;
for(int i = 0; i < n; i++)
{
int v,we,k; cin>>v>>we>>k;
for(int i = 0; i < min(k,2000/we); i++)
{
items.push_back({v,we});
}
}
for(int i = 0; i < items.size(); i++)
{
int cur = i%2, prev = 1-cur;
for(int j = 0; j <= s; j++)
{
auto [vl, w] = items[i];
dp[cur][j] = dp[prev][j];
if(w > j) continue;
dp[cur][j] = max(dp[cur][j], dp[prev][j-w]+vl);
}
}
cout<<dp[1-items.size()%2][s];
}
| # | 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... |