zhaowangji @ 2019-07-11 16:26:05
#include<iostream>
using namespace std;
int n,m,k;
int a[60][3][2];
int f[32007];
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y,z;
cin>>x>>y>>z;//v,p,q
if(z==0)a[++k][0][0]=x,a[k][0][1]=x*y;
else if(!a[z][1][0])a[z][1][0]=x,a[z][1][1]=x*y;
else if(!a[z][2][0])a[z][2][0]=x,a[z][2][1]=x*y;//存个物品的价格和重要度
}
for(int i=1;i<=k;i++)//套模板
for(int j=n;j>=a[i][0][0]+a[i][1][0]+a[i][2][0];j-=10)
f[j]=max(f[j],f[j-a[i][0][0]-a[i][1][0]-a[i][2][0]]+a[i][0][1]+a[i][1][1]+a[i][2][1]);
cout<<f[n];
// for(int i=1;i<=k;i++)
// for(int j=0;j<=2;j++)
// cout<<a[i][j][0]<<' '<<a[i][j][1]<<endl;//用来看存储是否正确
return 0;
}