Submission #305396

#TimeUsernameProblemLanguageResultExecution timeMemory
305396daniel920712Packing Biscuits (IOI20_biscuits)C++14
12 / 100
2 ms384 KiB
#include "biscuits.h" #include <stdio.h> #include <string.h> using namespace std; long long con[105]={0}; long long count_tastiness(long long x,vector<long long> a) { long long ans=1,t=0,N=a.size(),i,now,tt=0; memset(con,0,sizeof(con)); for(i=0;i<N;i++) { con[i]=a[i]; tt+=(1<<i)*a[i]; } //printf("%lld\n",tt); for(i=0;i<N||con[i];i++) { if(con[i]>2) { if(con[i]%2==0) { con[i+1]+=con[i]/2-1; con[i]=2; } else { con[i+1]+=con[i]/2; con[i]=1; } } } N=i; //printf("%lld\n",N); t=0; now=1; for(i=0;i<N;i++) { //printf("%lld ",con[i]); if(con[i]==0) { ans=ans*(t+1); t=0; now=1; } else { t+=now*con[i]; now*=2; } //printf("%lld %lld\n",i,t); } //printf("\n"); ans=ans*(t+1); return ans; }
#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...