# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
871389 | 2023-11-10T17:02:22 Z | andrei_boaca | Packing Biscuits (IOI20_biscuits) | C++17 | 36 ms | 1568 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; ll taken=0; 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; taken+=L; a.pop_back(); continue; } if(p<0) break; vector<ll> aux=elim(secv[p],nr); a.pop_back(); for(auto i:aux) a.push_back(i); break; } if(taken>0) a.push_back(-taken); //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(ll 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); } ll mylg=0; for(auto j:secv[i]) { if(j>=0) { lg[i]+=lg[j]; mylg+=(1LL<<j); } else mylg+=abs(j); } //assert(mylg==(1LL<<i)); } 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 | 0 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 436 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 348 KB | Output is correct |
11 | Correct | 0 ms | 348 KB | Output is correct |
12 | Correct | 1 ms | 348 KB | Output is correct |
13 | Correct | 0 ms | 348 KB | Output is correct |
14 | Correct | 0 ms | 344 KB | Output is correct |
# | 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 | 356 KB | Output is correct |
4 | Correct | 1 ms | 356 KB | Output is correct |
5 | Correct | 0 ms | 352 KB | Output is correct |
6 | Correct | 0 ms | 352 KB | Output is correct |
7 | Correct | 0 ms | 436 KB | Output is correct |
8 | Correct | 0 ms | 352 KB | Output is correct |
9 | Correct | 1 ms | 352 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 1 ms | 372 KB | Output is correct |
3 | Correct | 0 ms | 344 KB | Output is correct |
4 | Correct | 0 ms | 448 KB | Output is correct |
5 | Correct | 0 ms | 600 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 1 ms | 348 KB | Output is correct |
8 | Correct | 1 ms | 604 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 1 ms | 348 KB | Output is correct |
11 | Correct | 1 ms | 444 KB | Output is correct |
12 | Correct | 1 ms | 344 KB | Output is correct |
13 | Correct | 1 ms | 348 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 344 KB | Output is correct |
2 | Correct | 26 ms | 1368 KB | Output is correct |
3 | Correct | 26 ms | 1372 KB | Output is correct |
4 | Correct | 25 ms | 1568 KB | Output is correct |
5 | Correct | 24 ms | 1372 KB | Output is correct |
6 | Correct | 22 ms | 1564 KB | Output is correct |
7 | Correct | 22 ms | 1340 KB | Output is correct |
8 | Correct | 23 ms | 1116 KB | Output is correct |
9 | Correct | 23 ms | 1348 KB | Output is correct |
10 | Correct | 21 ms | 1368 KB | Output is correct |
# | 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 | 436 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 348 KB | Output is correct |
11 | Correct | 0 ms | 348 KB | Output is correct |
12 | Correct | 1 ms | 348 KB | Output is correct |
13 | Correct | 0 ms | 348 KB | Output is correct |
14 | Correct | 0 ms | 344 KB | Output is correct |
15 | Correct | 0 ms | 348 KB | Output is correct |
16 | Correct | 0 ms | 348 KB | Output is correct |
17 | Correct | 0 ms | 356 KB | Output is correct |
18 | Correct | 1 ms | 356 KB | Output is correct |
19 | Correct | 0 ms | 352 KB | Output is correct |
20 | Correct | 0 ms | 352 KB | Output is correct |
21 | Correct | 0 ms | 436 KB | Output is correct |
22 | Correct | 0 ms | 352 KB | Output is correct |
23 | Correct | 1 ms | 352 KB | Output is correct |
24 | Correct | 0 ms | 348 KB | Output is correct |
25 | Correct | 1 ms | 372 KB | Output is correct |
26 | Correct | 0 ms | 344 KB | Output is correct |
27 | Correct | 0 ms | 448 KB | Output is correct |
28 | Correct | 0 ms | 600 KB | Output is correct |
29 | Correct | 0 ms | 348 KB | Output is correct |
30 | Correct | 1 ms | 348 KB | Output is correct |
31 | Correct | 1 ms | 604 KB | Output is correct |
32 | Correct | 0 ms | 348 KB | Output is correct |
33 | Correct | 1 ms | 348 KB | Output is correct |
34 | Correct | 1 ms | 444 KB | Output is correct |
35 | Correct | 1 ms | 344 KB | Output is correct |
36 | Correct | 1 ms | 348 KB | Output is correct |
37 | Correct | 9 ms | 344 KB | Output is correct |
38 | Correct | 26 ms | 1368 KB | Output is correct |
39 | Correct | 26 ms | 1372 KB | Output is correct |
40 | Correct | 25 ms | 1568 KB | Output is correct |
41 | Correct | 24 ms | 1372 KB | Output is correct |
42 | Correct | 22 ms | 1564 KB | Output is correct |
43 | Correct | 22 ms | 1340 KB | Output is correct |
44 | Correct | 23 ms | 1116 KB | Output is correct |
45 | Correct | 23 ms | 1348 KB | Output is correct |
46 | Correct | 21 ms | 1368 KB | Output is correct |
47 | Correct | 15 ms | 860 KB | Output is correct |
48 | Correct | 15 ms | 1372 KB | Output is correct |
49 | Correct | 10 ms | 348 KB | Output is correct |
50 | Correct | 15 ms | 1304 KB | Output is correct |
51 | Correct | 11 ms | 1452 KB | Output is correct |
52 | Correct | 6 ms | 344 KB | Output is correct |
53 | Correct | 10 ms | 1116 KB | Output is correct |
54 | Correct | 29 ms | 1360 KB | Output is correct |
55 | Correct | 36 ms | 1376 KB | Output is correct |
56 | Correct | 28 ms | 1372 KB | Output is correct |
57 | Correct | 27 ms | 1372 KB | Output is correct |