# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
871380 | 2023-11-10T16:46:54 Z | andrei_boaca | Packing Biscuits (IOI20_biscuits) | C++17 | 21 ms | 1044 KB |
#include "biscuits.h" #include <bits/stdc++.h> //#include "grader.cpp" using namespace std; typedef long long ll; ll f[65],ans,lg[65]; vector<ll> secv[65]; vector<ll> compress(vector<ll> a) { vector<ll> aux; ll L=0; for(auto i:a) { if(i<0) L+=abs(i); else { if(L!=0) aux.push_back(-L); aux.push_back(i); } } if(L!=0) aux.push_back(-L); return aux; } vector<ll> elim(vector<ll> a, ll nr) { ll init=nr; while(nr>0) { ll p=a.back(); ll L=-1; if(p<0) L=abs(p); else L=(1LL<<p); if(L<=nr) { nr-=L; a.pop_back(); continue; } if(p<0) { a.pop_back(); ll lft=L-nr; a.push_back(-lft); break; } vector<ll> aux=elim(secv[p],nr); a.pop_back(); for(auto i:aux) a.push_back(i); break; } a.push_back(-init); //a=compress(a); return a; } long long count_tastiness(long long x, std::vector<long long> a) { for(int i=0;i<=60;i++) { f[i]=0; lg[i]=0; } for(int i=0;i<a.size();i++) f[i+1]=a[i]; lg[0]=1; ll suma=0; for(int i=1;i<=60;i++) { lg[i]=0; suma+=(1LL<<(i-1))*f[i]; secv[i].clear(); secv[i]={i-1,i-1}; ll maxim=suma/x; ll dr=(1LL<<i)-1; if(maxim<dr) { ll out=dr-maxim; secv[i]=elim(secv[i],out); } for(auto j:secv[i]) if(j>=0) lg[i]+=lg[j]; } return lg[60]; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 1 ms | 344 KB | Output is correct |
8 | Correct | 0 ms | 344 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 344 KB | Output is correct |
11 | Correct | 0 ms | 348 KB | Output is correct |
12 | Incorrect | 0 ms | 348 KB | Output isn't correct |
13 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 0 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 344 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 348 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 13 ms | 344 KB | Output is correct |
2 | Incorrect | 21 ms | 1044 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 1 ms | 344 KB | Output is correct |
8 | Correct | 0 ms | 344 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 344 KB | Output is correct |
11 | Correct | 0 ms | 348 KB | Output is correct |
12 | Incorrect | 0 ms | 348 KB | Output isn't correct |
13 | Halted | 0 ms | 0 KB | - |