#include<bits/stdc++.h>
using namespace std;
int v,n;
int f[200+10];
struct node{
int c,w,p;
};
node a[40];
int main(){
cin>>v>>n;
for(int i=1;i<=n;i++){
cin>>a[i].c>>a[i].w>>a[i].p;
}
for(int i=1;i<=n;i++){
for(int j=v;j>=a[i].c;j--){
for(int k=1;k<=(a[i].p==0 ? j/a[i].c : a[i].p);k++){
if(j>=k*a[i].c) f[j]=max(f[j],f[j-k*a[i].c]+k*a[i].w);
}
}
}
cout<<f[v];
return 0;
}
共 3 条回复
emm emm emm emm
emm emm emm emm
emm emm emm emm