#include <bits/stdc++.h>
#define fr(i, n, m) for(int i = (n); i < (m); i ++)
#define rfr(i, n, m) for(int i = (n); i >= (m); i --)
#define pb push_back
#define st first
#define nd second
#define pq priority_queue
#define all(x) begin(x), end(x)
#include <time.h>
#include <cmath>
#include <string>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll,ll> pii;
const int i_inf = 1e9;
const ll inf = 1e18;
const ll mod = 1e9+7;
const ld eps = 1e-13;
const ld pi = 3.14159265359;
const int mxn = 2e5+5;
mt19937 _rand(time(NULL));
clock_t z;
#include "biscuits.h"
vector<ll> A;
int m;
vector<int> v;
ll dp[61][100000];
ll X;
ll gen(int pos, ll carry){
if(pos == m-1){
return (A[pos] + carry)/X + 1;
}
if(dp[pos][carry] != -1) return dp[pos][carry];
ll tot = A[pos] + carry;
if(tot < X){
return gen(pos+1, tot/2);
}
ll ret = 0;
//if we put :
ret = gen(pos+1, (tot-X) / 2);
//if we don't :
ret += gen(pos+1, tot/2);
dp[pos][carry] = ret;
return ret;
}
long long count_tastiness(long long x, std::vector<long long> a) {
memset(dp, -1, sizeof(dp));
X = x;
m = (int)a.size();
fr(i, 0, (int)a.size()-1){
while(a[i] >= x+2){
a[i] -= 2;
a[i+1] ++;
}
if(a[i] >= x + 2){
ll take = (a[i] - (x + 2) + 1) / 2;
ll rem = a[i] - take*2;
//if(rem == 0) rem += x+1;
ll mov = (a[i]-rem);
a[i+1] += mov/2;
a[i] -= mov;
}
}
A = a;
/*for(auto u : A) cout<<u<<' ';
cout<<endl;*/
return gen(0, 0);
}/*
int main(){
//cout<<count_tastiness(2, {5, 0})<<endl;
cout<<count_tastiness(1, {10, 9, 8, 7, 6})<<endl;
}*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
73 ms |
48076 KB |
Output is correct |
2 |
Correct |
75 ms |
48032 KB |
Output is correct |
3 |
Correct |
75 ms |
48128 KB |
Output is correct |
4 |
Correct |
75 ms |
48024 KB |
Output is correct |
5 |
Correct |
76 ms |
48068 KB |
Output is correct |
6 |
Correct |
78 ms |
47948 KB |
Output is correct |
7 |
Correct |
75 ms |
48032 KB |
Output is correct |
8 |
Correct |
73 ms |
47948 KB |
Output is correct |
9 |
Correct |
75 ms |
48000 KB |
Output is correct |
10 |
Correct |
75 ms |
48024 KB |
Output is correct |
11 |
Correct |
75 ms |
48000 KB |
Output is correct |
12 |
Correct |
79 ms |
48032 KB |
Output is correct |
13 |
Correct |
74 ms |
48028 KB |
Output is correct |
14 |
Correct |
78 ms |
48028 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
74 ms |
47948 KB |
Output is correct |
2 |
Correct |
51 ms |
47948 KB |
Output is correct |
3 |
Correct |
75 ms |
47940 KB |
Output is correct |
4 |
Correct |
74 ms |
47928 KB |
Output is correct |
5 |
Correct |
73 ms |
47976 KB |
Output is correct |
6 |
Correct |
75 ms |
48032 KB |
Output is correct |
7 |
Correct |
73 ms |
47948 KB |
Output is correct |
8 |
Correct |
73 ms |
48000 KB |
Output is correct |
9 |
Correct |
72 ms |
48028 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
67 ms |
48024 KB |
Output is correct |
2 |
Correct |
74 ms |
48028 KB |
Output is correct |
3 |
Correct |
76 ms |
47940 KB |
Output is correct |
4 |
Correct |
74 ms |
47948 KB |
Output is correct |
5 |
Correct |
75 ms |
48032 KB |
Output is correct |
6 |
Correct |
74 ms |
47952 KB |
Output is correct |
7 |
Correct |
76 ms |
47944 KB |
Output is correct |
8 |
Correct |
141 ms |
48040 KB |
Output is correct |
9 |
Correct |
72 ms |
47940 KB |
Output is correct |
10 |
Correct |
73 ms |
48028 KB |
Output is correct |
11 |
Correct |
74 ms |
47996 KB |
Output is correct |
12 |
Correct |
84 ms |
48028 KB |
Output is correct |
13 |
Correct |
144 ms |
48040 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
1100 ms |
48036 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
73 ms |
48076 KB |
Output is correct |
2 |
Correct |
75 ms |
48032 KB |
Output is correct |
3 |
Correct |
75 ms |
48128 KB |
Output is correct |
4 |
Correct |
75 ms |
48024 KB |
Output is correct |
5 |
Correct |
76 ms |
48068 KB |
Output is correct |
6 |
Correct |
78 ms |
47948 KB |
Output is correct |
7 |
Correct |
75 ms |
48032 KB |
Output is correct |
8 |
Correct |
73 ms |
47948 KB |
Output is correct |
9 |
Correct |
75 ms |
48000 KB |
Output is correct |
10 |
Correct |
75 ms |
48024 KB |
Output is correct |
11 |
Correct |
75 ms |
48000 KB |
Output is correct |
12 |
Correct |
79 ms |
48032 KB |
Output is correct |
13 |
Correct |
74 ms |
48028 KB |
Output is correct |
14 |
Correct |
78 ms |
48028 KB |
Output is correct |
15 |
Correct |
74 ms |
47948 KB |
Output is correct |
16 |
Correct |
51 ms |
47948 KB |
Output is correct |
17 |
Correct |
75 ms |
47940 KB |
Output is correct |
18 |
Correct |
74 ms |
47928 KB |
Output is correct |
19 |
Correct |
73 ms |
47976 KB |
Output is correct |
20 |
Correct |
75 ms |
48032 KB |
Output is correct |
21 |
Correct |
73 ms |
47948 KB |
Output is correct |
22 |
Correct |
73 ms |
48000 KB |
Output is correct |
23 |
Correct |
72 ms |
48028 KB |
Output is correct |
24 |
Correct |
67 ms |
48024 KB |
Output is correct |
25 |
Correct |
74 ms |
48028 KB |
Output is correct |
26 |
Correct |
76 ms |
47940 KB |
Output is correct |
27 |
Correct |
74 ms |
47948 KB |
Output is correct |
28 |
Correct |
75 ms |
48032 KB |
Output is correct |
29 |
Correct |
74 ms |
47952 KB |
Output is correct |
30 |
Correct |
76 ms |
47944 KB |
Output is correct |
31 |
Correct |
141 ms |
48040 KB |
Output is correct |
32 |
Correct |
72 ms |
47940 KB |
Output is correct |
33 |
Correct |
73 ms |
48028 KB |
Output is correct |
34 |
Correct |
74 ms |
47996 KB |
Output is correct |
35 |
Correct |
84 ms |
48028 KB |
Output is correct |
36 |
Correct |
144 ms |
48040 KB |
Output is correct |
37 |
Execution timed out |
1100 ms |
48036 KB |
Time limit exceeded |
38 |
Halted |
0 ms |
0 KB |
- |