Submission #1217250

#TimeUsernameProblemLanguageResultExecution timeMemory
1217250_llKnapsack (NOI18_knapsack)C++20
73 / 100
1096 ms15940 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll v[9000000], p[9000000], re[2001], m = 0; 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 << ((ll) 1)) <= q){ pd <<= ((ll) 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] + v[i]); cout << re[s] << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...