Submission #1186817

#TimeUsernameProblemLanguageResultExecution timeMemory
1186817the_coding_poohPacking Biscuits (IOI20_biscuits)C++20
0 / 100
3 ms324 KiB
#include "biscuits.h" #include <bits/stdc++.h> using namespace std; #define uwu return long long count_tastiness(long long x, vector<long long> a) { long long ans = 0; while(a.size() < 62){ a.push_back(0); } for (int i = 0; i < a.size(); i++){ vector <long long> b = a; for (int j = i + 1; j < a.size(); j++){ b[j] = 0; } long long sum = 0; for (int j = i; j >= 0; j--){ if(sum + (b[j] * (1LL << j)) >= x * (1LL << i)){ b[j] -= ((x * (1LL << i)) - sum) / (1LL << j); sum = (x * (1LL << i)); break; } else{ sum += b[j] * (1LL << j); b[j] = 0; } } b[i] += sum / (1LL << i); if(b[i] < x) continue; long long cnt = 0; for (int j = 0; j <= i - 1; j++){ if(b[j] >= x){ b[j + 1] += (b[j] - x) / 2; b[j] = x; cnt++; } } ans += (1LL << cnt); } long long ss = 0; for (int i = 0; i < a.size(); i++){ ss += (1LL << i) * a[i]; } return ans + 3 + __builtin_popcountll(ss); }
#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...