Submission #432774

#TimeUsernameProblemLanguageResultExecution timeMemory
432774MOUF_MAHMALATPacking Biscuits (IOI20_biscuits)C++14
21 / 100
1089 ms43652 KiB
#include "biscuits.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<ll>a;
map<pair<ll,ll>,bool>b;
map<pair<ll,ll>,ll>mp;
ll x,n=61;
ll best(ll d,ll k)
{
    if(d==61)
        return 1;
    pair<ll,ll>id={d,k};
    if(b[id])
        return mp[id];
    b[id]=1;
    ll &r=mp[id];
    k+=a[d];
    if(k>=x)
        return r=best(d+1,k/2)+best(d+1,(k-x)/2);
    return r=best(d+1,k/2);
}
long long count_tastiness(ll X, vector<ll> A)
{
    x=X,a=A,a.resize(n);
    b.clear(),mp.clear();
    return best(0,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...