#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
const int maxn=2000;
int w[maxn],v[maxn],f[maxn];
vector<int >g[200];
int n,m;
int main()
{
cin>>m>>n;
for(int k,x,y,z,i=1;i<=n;i++)
{
cin>>w[i]>>v[i]; cin>>k;
g[k].push_back(i);
}
for(int i=1;i<=100;i++)
{
for(int j=m;j>=0;j--)
{
for(int l=0;l<g[i].size();l++)
{
int k=g[i][l];
if(j-w[k]>=0)
{
f[j]=max(f[j],f[j-w[k]]+v[k]);
}
}
}
}
cout<<f[m];
return 0;
}
洛谷 P1757 通天之分组背包
最新推荐文章于 2021-08-19 09:33:11 发布