3 #define max_value 200010
6 int max(int p
, int q
) {
12 scanf("%d%d",&money
,&n
);
14 int f
[max_value
]={0},v
[maxn
],p
[maxn
],q
[maxn
],q1
[maxn
],q2
[maxn
];
16 for (i
=1; i
<=n
; i
++) {
17 scanf("%d%d%d",&(v
[i
]),&(p
[i
]),&(q
[i
]));
26 for (i
=money
; i
>=v
[j
]; i
--) {
27 if (i
-v
[j
]>=0) f
[i
]=max(f
[i
],f
[i
-v
[j
]]+v
[j
]*p
[j
]);
28 if (i
-v
[j
]-v
[q1
[j
]]>=0) f
[i
]=max(f
[i
],f
[i
-v
[j
]-v
[q1
[j
]]]+v
[j
]*p
[j
]+v
[q1
[j
]]*p
[q1
[j
]]);
29 if (i
-v
[j
]-v
[q2
[j
]]>=0) f
[i
]=max(f
[i
],f
[i
-v
[j
]-v
[q2
[j
]]]+v
[j
]*p
[j
]+v
[q2
[j
]]*p
[q2
[j
]]);
30 if (i
-v
[j
]-v
[q1
[j
]]-v
[q2
[j
]]>=0) f
[i
]=max(f
[i
],f
[i
-v
[j
]-v
[q1
[j
]]-v
[q2
[j
]]]+v
[j
]*p
[j
]+v
[q1
[j
]]*p
[q1
[j
]]+v
[q2
[j
]]*p
[q2
[j
]]);
33 printf("%d\n",(--ans
)*10);