Submission #1052540

#TimeUsernameProblemLanguageResultExecution timeMemory
1052540epicci23Packing Biscuits (IOI20_biscuits)C++17
0 / 100
2 ms348 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...