This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
const int maxn=100002;
int s,n,v[maxn],w[maxn],k[maxn],dp[maxn][2002];
int solve(int inx=0,int curr=0)
{
if(dp[inx][curr])
return dp[inx][curr];
if(inx==n)
return 0;
for(int i=0;i<=k[inx];i++)
{
if(curr+i*w[inx]<=s)
dp[inx][curr]=max(dp[inx][curr],solve(inx+1,curr+i*w[inx])+i*v[inx]);
else break;
}
return dp[inx][curr];
}
signed main()
{
cin>>s>>n;
for(int i=0;i<n;i++)
{
cin>>v[i]>>w[i]>>k[i];
k[i]=min(k[i],s/w[i]);
}
cout<<solve();
}
# | 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... |