Submission #352395

#TimeUsernameProblemLanguageResultExecution timeMemory
352395G_X_J비스킷 담기 (IOI20_biscuits)C++14
0 / 100
1213 ms1987200 KiB
#include <bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;++i) #define per(i,b,a) for(int i=b;i>=a;--i) #define ll long long #define vi vector<ll> using namespace std; unordered_map <ll, ll> mp; ll dp(ll n, ll x, const vi &s) { if(n <= 0) return 0; if(n == 1) return 1; if(mp.find(n)!=mp.end()) return mp[n]; ll power = 1ll << (__lg(n)); return mp[n] = dp(power, x, s) + dp(min(n, 1 + s[__lg(n)] / x) - power, x, s); } ll count_tastiness(ll x, vi a) { mp.clear(); rep(i,1,(int)(a.size()) - 1) a[i] = a[i - 1] + (1ll << i);//calculate s[i] while(a.size() <= 60) a.push_back(a.back());//a[i] is 0, so s[i] = s[i-1] return dp(1 + a.back(), x, a); }//好jb短
#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...