Submission #1217248

#TimeUsernameProblemLanguageResultExecution timeMemory
1217248_llKnapsack (NOI18_knapsack)C++20
37 / 100
1 ms328 KiB
#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 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...