This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "bits/stdc++.h"
#define int long long
#define all(v) v.begin() , v.end()
#define sz(a) (int)a.size()
using namespace std;
#include "biscuits.h"
long long count_tastiness(long long x, vector<long long> a){
int freq[65];
memset(freq,0,sizeof(freq));
long long dp[65];
memset(dp,0,sizeof(dp));
dp[63]=1;
for(int i=0;i<sz(a);i++) freq[i]=a[i];
for(int i=0;i<64;i++){
if(freq[i]<3) continue;
int cur=(freq[i]-1)/2;
freq[i+1]+=cur;
freq[i]-=2*cur;
}
long long old_ans=1;
for(int i=62;i>=0;i--){
long long new_ans=old_ans;
if(freq[i]>0) new_ans+=old_ans; // 1 koydum
for(int j=i-1;j>=0;j--){ // 2111...0
if(freq[j]==0) break;
if(freq[j]==2) new_ans+=old_ans;
}
old_ans=new_ans;
}
return old_ans;
}
/*void _(){
}
int32_t main(){
cin.tie(0); ios::sync_with_stdio(0);
int tc=1;//cin >> tc;
while(tc--) _();
return 0;
}*/
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |