Submission #696076

#TimeUsernameProblemLanguageResultExecution timeMemory
696076garam1732Packing Biscuits (IOI20_biscuits)C++14
12 / 100
1079 ms340 KiB
#include "biscuits.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; 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(); ll ans = 0; for(int v = 0; v <= 100000; v++) { for(int j = 0; j <= 16; j++) cnt[j] = x*((v>>j)&1); vector<ll> b = a; for(int i = (int)b.size()-1; i >= 0; i--) { for(int j = 16; j >= i; j--) { while(cnt[j] && b[i] >= (1<<(j-i))) { cnt[j]--; b[i] -= (1<<(j-i)); } } } bool flag = true; for(int j = 0; j <= 16; j++) { if(cnt[j]) { flag = false; break; } } if(flag) 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...