Submission #696081

#TimeUsernameProblemLanguageResultExecution timeMemory
696081garam1732Packing Biscuits (IOI20_biscuits)C++14
12 / 100
1090 ms984 KiB
#include "biscuits.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; priority_queue<ll> pq; ll cnt[100]; long long count_tastiness(long long x, std::vector<long long> a) { if(x == 1) { for(int i = (int)a.size()-1; i > 0; i--) if(a[i-1]) a[i-1] += 2*a[i], a[i] = 0; ll res = 1; for(ll x : a) res *= (x+1); return res; } while(a.size() > 17) a.pop_back(); if(x > 100000) return 1; ll ans = 1; for(int v = 1; v <= 100000/x; v++) { while(pq.size()) pq.pop(); for(int i = 0; i < x; i++) pq.push(v); vector<ll> b = a; for(int i = (int)b.size()-1; i >= 0; i--) { while(b[i] && pq.size() && pq.top() >= (1<<i)) { int y = pq.top(); pq.pop(); y -= (1<<i); b[i]--; if(y) pq.push(y); } } if(pq.empty()) ans++; } return ans; }
#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...