Submission #432431

#TimeUsernameProblemLanguageResultExecution timeMemory
432431MOUF_MAHMALATPacking Biscuits (IOI20_biscuits)C++14
0 / 100
12 ms332 KiB
#include "biscuits.h" #include<bits/stdc++.h> using namespace std; typedef long long ll; vector<ll>a; ll x,n,dp[65]; ll best(ll d) { if(d==-1) return 1; ll &r=dp[d]; //cout<<d<<" "<<r<<endl; if(r!=-1) return r; r=best(d-1); ll c=0; for(ll i=d; i>=0; i--) { c+=a[i]/(1<<(d-i)); //cout<<d<<" * "<<c<<endl; //cout<<d<<" "<<i<<" "<<c<<endl; if(c>=x) { //cout<<d<<"-> "<<i-1<<endl; return r+=best(i-1); } } return r; } long long count_tastiness(ll X, vector<ll> A) { x=X,a=A,n=61; a.resize(n+1); for(ll i=0; i<n; i++) { if(a[i]<x) continue; ll op=(a[i]-x)/2; a[i]-=op; if(i<n-1) a[i+1]+=op; } /*for(ll i=0;i<n;i++) cout<<a[i]<<" "; cout<<endl;*/ memset(dp,-1,sizeof dp); return best(n-1); }
#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...