Submission #1224676

#TimeUsernameProblemLanguageResultExecution timeMemory
1224676MarwenElarbi비스킷 담기 (IOI20_biscuits)C++17
0 / 100
1098 ms63268 KiB
#include "biscuits.h"
#include <bits/stdc++.h>
using namespace std;
long long num;
vector<long long> tab(60,0);
map<long long,long long> mp[61];
long long dfs(int i,long long cur){
    if(i==60&&cur==0) {
        return 1;
    }
    if(mp[i].find(cur)!=mp[i].end()) return mp[i][cur];
    if(cur+tab[i]>=num){
        mp[i][cur]+=dfs(i+1,(cur+tab[i]-num)/2);
    }
    mp[i][cur]+=dfs(i+1,(tab[i]+cur)/2);
    return mp[i][cur];
}
long long count_tastiness(long long x, std::vector<long long> a) {
    num=x;
    for (int i = 0; i < 61; ++i)
    {
        mp[i].clear();
    }
    for (int i = 0; i < a.size(); ++i)
    {
        tab[i]=a[i];
    }
    return dfs(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...