#include<cstdio> #include<cstring> using namespace std; int v,m,n,f[400][400]={0}; int a,b,c; void bag(int,int,int); int main() { //memset(f,127,sizeof(f)); f[0][0]=0; scanf("%d%d%d",&v,&m,&n); for(int i=1;i<=n;i++) { scanf("%d%d%d",&a,&b,&c); bag(a,b,c); } printf("%d",f[v][m]); } void bag(int a,int b,int c) { for(int i=v;i>=0;i--) { for(int j=m;j>=0;j--) { int x=i+a,y=j+b; if(x>v) break; if(y>m) continue; { if(f[x][y]<f[i][j]+c) f[x][y]=f[i][j]+c; } } } } /************************************************************** Problem: 2075 User: admin Language: C++ Result: Accepted Time:81 ms Memory:1768 kb ****************************************************************/