# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
303919 | 2020-09-20T19:02:48 Z | Pajaraja | Packing Biscuits (IOI20_biscuits) | C++17 | 14 ms | 896 KB |
#include "biscuits.h" #include <bits/stdc++.h> #define MAXN 67 using namespace std; long long dp[MAXN],dpu[MAXN],p[MAXN]; long long count_tastiness(long long x, std::vector<long long> a) { int k=0; while((x<<k)<=3000000000000000000LL) { k++; if(k-1==a.size()) a.push_back(0); } p[0]=a[0]; for(long long i=1;i<k;i++) p[i]=p[i-1]+(a[i]<<i); for(long long i=0;i<k;i++) { long long mx=(p[i]-(x<<i))/x; dpu[i]=0; if(p[i]>=(x<<i)) { if(mx>=(1LL<<i)) dpu[i]=(i!=0)?dp[i-1]:1; else { bool fas=false; for(long long j=i-1;j>=0;j--) if((1LL<<j)&mx) { dpu[i]+=(j!=0)?dp[j-1]:1; long long nx=(p[j]-(x<<j))/x; if(p[j]<(x<<j)) {fas=true; break;} mx^=(1LL<<j); if(nx<mx) {dpu[i]+=dpu[j]; fas=true; break;} } if(!fas) dpu[i]++; } } dp[i]=(i!=0)?dp[i-1]:1; dp[i]+=dpu[i]; } return dp[k-1]; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Correct | 0 ms | 256 KB | Output is correct |
3 | Correct | 1 ms | 256 KB | Output is correct |
4 | Correct | 0 ms | 256 KB | Output is correct |
5 | Correct | 0 ms | 256 KB | Output is correct |
6 | Correct | 0 ms | 256 KB | Output is correct |
7 | Correct | 0 ms | 256 KB | Output is correct |
8 | Correct | 0 ms | 256 KB | Output is correct |
9 | Correct | 0 ms | 256 KB | Output is correct |
10 | Correct | 1 ms | 256 KB | Output is correct |
11 | Correct | 0 ms | 256 KB | Output is correct |
12 | Correct | 0 ms | 256 KB | Output is correct |
13 | Correct | 0 ms | 256 KB | Output is correct |
14 | Correct | 0 ms | 256 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | Output is correct |
2 | Correct | 1 ms | 384 KB | Output is correct |
3 | Correct | 0 ms | 256 KB | Output is correct |
4 | Correct | 1 ms | 256 KB | Output is correct |
5 | Correct | 0 ms | 256 KB | Output is correct |
6 | Correct | 1 ms | 256 KB | Output is correct |
7 | Correct | 0 ms | 256 KB | Output is correct |
8 | Correct | 1 ms | 288 KB | Output is correct |
9 | Correct | 1 ms | 256 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | Output is correct |
2 | Correct | 1 ms | 256 KB | Output is correct |
3 | Correct | 0 ms | 384 KB | Output is correct |
4 | Correct | 0 ms | 256 KB | Output is correct |
5 | Correct | 1 ms | 256 KB | Output is correct |
6 | Correct | 1 ms | 256 KB | Output is correct |
7 | Correct | 0 ms | 256 KB | Output is correct |
8 | Correct | 1 ms | 256 KB | Output is correct |
9 | Correct | 0 ms | 256 KB | Output is correct |
10 | Correct | 0 ms | 256 KB | Output is correct |
11 | Correct | 0 ms | 256 KB | Output is correct |
12 | Correct | 0 ms | 256 KB | Output is correct |
13 | Correct | 1 ms | 256 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | Output is correct |
2 | Correct | 11 ms | 896 KB | Output is correct |
3 | Correct | 10 ms | 896 KB | Output is correct |
4 | Correct | 12 ms | 896 KB | Output is correct |
5 | Correct | 10 ms | 896 KB | Output is correct |
6 | Correct | 10 ms | 896 KB | Output is correct |
7 | Correct | 11 ms | 896 KB | Output is correct |
8 | Correct | 10 ms | 896 KB | Output is correct |
9 | Correct | 10 ms | 896 KB | Output is correct |
10 | Correct | 10 ms | 892 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Correct | 0 ms | 256 KB | Output is correct |
3 | Correct | 1 ms | 256 KB | Output is correct |
4 | Correct | 0 ms | 256 KB | Output is correct |
5 | Correct | 0 ms | 256 KB | Output is correct |
6 | Correct | 0 ms | 256 KB | Output is correct |
7 | Correct | 0 ms | 256 KB | Output is correct |
8 | Correct | 0 ms | 256 KB | Output is correct |
9 | Correct | 0 ms | 256 KB | Output is correct |
10 | Correct | 1 ms | 256 KB | Output is correct |
11 | Correct | 0 ms | 256 KB | Output is correct |
12 | Correct | 0 ms | 256 KB | Output is correct |
13 | Correct | 0 ms | 256 KB | Output is correct |
14 | Correct | 0 ms | 256 KB | Output is correct |
15 | Correct | 0 ms | 256 KB | Output is correct |
16 | Correct | 1 ms | 384 KB | Output is correct |
17 | Correct | 0 ms | 256 KB | Output is correct |
18 | Correct | 1 ms | 256 KB | Output is correct |
19 | Correct | 0 ms | 256 KB | Output is correct |
20 | Correct | 1 ms | 256 KB | Output is correct |
21 | Correct | 0 ms | 256 KB | Output is correct |
22 | Correct | 1 ms | 288 KB | Output is correct |
23 | Correct | 1 ms | 256 KB | Output is correct |
24 | Correct | 0 ms | 256 KB | Output is correct |
25 | Correct | 1 ms | 256 KB | Output is correct |
26 | Correct | 0 ms | 384 KB | Output is correct |
27 | Correct | 0 ms | 256 KB | Output is correct |
28 | Correct | 1 ms | 256 KB | Output is correct |
29 | Correct | 1 ms | 256 KB | Output is correct |
30 | Correct | 0 ms | 256 KB | Output is correct |
31 | Correct | 1 ms | 256 KB | Output is correct |
32 | Correct | 0 ms | 256 KB | Output is correct |
33 | Correct | 0 ms | 256 KB | Output is correct |
34 | Correct | 0 ms | 256 KB | Output is correct |
35 | Correct | 0 ms | 256 KB | Output is correct |
36 | Correct | 1 ms | 256 KB | Output is correct |
37 | Correct | 2 ms | 384 KB | Output is correct |
38 | Correct | 11 ms | 896 KB | Output is correct |
39 | Correct | 10 ms | 896 KB | Output is correct |
40 | Correct | 12 ms | 896 KB | Output is correct |
41 | Correct | 10 ms | 896 KB | Output is correct |
42 | Correct | 10 ms | 896 KB | Output is correct |
43 | Correct | 11 ms | 896 KB | Output is correct |
44 | Correct | 10 ms | 896 KB | Output is correct |
45 | Correct | 10 ms | 896 KB | Output is correct |
46 | Correct | 10 ms | 892 KB | Output is correct |
47 | Correct | 2 ms | 384 KB | Output is correct |
48 | Correct | 14 ms | 896 KB | Output is correct |
49 | Correct | 3 ms | 384 KB | Output is correct |
50 | Correct | 11 ms | 768 KB | Output is correct |
51 | Correct | 12 ms | 896 KB | Output is correct |
52 | Correct | 3 ms | 384 KB | Output is correct |
53 | Correct | 10 ms | 768 KB | Output is correct |
54 | Correct | 13 ms | 896 KB | Output is correct |
55 | Correct | 12 ms | 896 KB | Output is correct |
56 | Correct | 12 ms | 896 KB | Output is correct |
57 | Correct | 13 ms | 896 KB | Output is correct |