#include<bits/stdc++.h>
using namespace std;
typedef int ll;
ll v[300000], p[300000], m = 0;
long long re[2001];
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
ll s, n; cin >> s >> n;
for(ll i = 0, a, b, q; i < n; i++){
cin >> a >> b >> q;
v[m] = a, p[m++] = b;
ll pd = 1, sm = 1; // um já foi
while(sm + (pd << 1) <= q){
pd <<= 1, sm += pd;
v[m] = pd * a, p[m++] = pd * b;
}
if(sm < q) v[m] = (q - sm) * a, p[m++] = (q - sm) * b;
}
for(ll i = 0; i < m; i++)
for(ll j = s - p[i]; j >= 0; j--)
re[j + p[i]] = max(re[j + p[i]], re[j] + (long long) v[i]);
cout << re[s] << '\n';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |