# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
400775 | 2021-05-08T16:06:50 Z | REALITYNB | Packing Biscuits (IOI20_biscuits) | C++17 | 1000 ms | 408 KB |
#include <bits/stdc++.h> #include "biscuits.h" #define int long long using namespace std; int sub1(int k , vector<int> a){ int ans = 0 ; int n = 60 ; while(a.size()!=n+1) a.push_back(0) ; for(int target=0;target<=100000;target++){ vector<int>b=a; bool flg =1 ; for(int i=0;i<n;i++){ if((1LL<<i)&target){ if(b[i]<k){ flg=0 ; break ; } b[i]-=k; b[i+1]+=b[i]/2 ; } else b[i+1]+=b[i]/2 ; } ans+=flg; } return ans ; } int count_tastiness(int k,vector<int> a){ if(k!=1) return sub1(k,a) ; int n =120 ; while(n!=a.size()) a.push_back(0) ; vector<int> dp(n+1); dp[n]=1; for(int i=n-1;i>-1;i--){ int sum = 0 ; vector<int> b=a; int stop = i+1; for(int j=i;j<n;j++){ if(b[j]>1){ b[j+1]+=b[j]/2; if(b[j]&1) b[j]=1; else b[j]=0; stop=j+2; } else break ; } if(a[i]==0) { dp[i]+=dp[i+1] ; continue ; } vector<int> in ; for(int j=i;j<stop;j++) if(b[j]) in.push_back(j) ; for(int j=1;j<in.size();j++) dp[i]+=dp[stop]*(1LL<<(in[j-1]-i)); dp[i]+=dp[stop]; dp[i]+=dp[stop]*(1LL<<(in.back()-i)) ; } return dp[0] ; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 47 ms | 284 KB | Output is correct |
3 | Correct | 79 ms | 288 KB | Output is correct |
4 | Correct | 99 ms | 204 KB | Output is correct |
5 | Correct | 73 ms | 280 KB | Output is correct |
6 | Correct | 102 ms | 272 KB | Output is correct |
7 | Correct | 55 ms | 204 KB | Output is correct |
8 | Correct | 103 ms | 204 KB | Output is correct |
9 | Correct | 71 ms | 292 KB | Output is correct |
10 | Correct | 49 ms | 284 KB | Output is correct |
11 | Correct | 47 ms | 204 KB | Output is correct |
12 | Correct | 112 ms | 300 KB | Output is correct |
13 | Correct | 96 ms | 276 KB | Output is correct |
14 | Correct | 72 ms | 408 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 204 KB | Output is correct |
3 | Correct | 1 ms | 204 KB | Output is correct |
4 | Correct | 1 ms | 204 KB | Output is correct |
5 | Correct | 1 ms | 204 KB | Output is correct |
6 | Correct | 1 ms | 204 KB | Output is correct |
7 | Correct | 1 ms | 204 KB | Output is correct |
8 | Correct | 1 ms | 204 KB | Output is correct |
9 | Correct | 1 ms | 204 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 78 ms | 284 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1093 ms | 332 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 47 ms | 284 KB | Output is correct |
3 | Correct | 79 ms | 288 KB | Output is correct |
4 | Correct | 99 ms | 204 KB | Output is correct |
5 | Correct | 73 ms | 280 KB | Output is correct |
6 | Correct | 102 ms | 272 KB | Output is correct |
7 | Correct | 55 ms | 204 KB | Output is correct |
8 | Correct | 103 ms | 204 KB | Output is correct |
9 | Correct | 71 ms | 292 KB | Output is correct |
10 | Correct | 49 ms | 284 KB | Output is correct |
11 | Correct | 47 ms | 204 KB | Output is correct |
12 | Correct | 112 ms | 300 KB | Output is correct |
13 | Correct | 96 ms | 276 KB | Output is correct |
14 | Correct | 72 ms | 408 KB | Output is correct |
15 | Correct | 1 ms | 204 KB | Output is correct |
16 | Correct | 1 ms | 204 KB | Output is correct |
17 | Correct | 1 ms | 204 KB | Output is correct |
18 | Correct | 1 ms | 204 KB | Output is correct |
19 | Correct | 1 ms | 204 KB | Output is correct |
20 | Correct | 1 ms | 204 KB | Output is correct |
21 | Correct | 1 ms | 204 KB | Output is correct |
22 | Correct | 1 ms | 204 KB | Output is correct |
23 | Correct | 1 ms | 204 KB | Output is correct |
24 | Incorrect | 78 ms | 284 KB | Output isn't correct |
25 | Halted | 0 ms | 0 KB | - |