제출 #370073

#제출 시각아이디문제언어결과실행 시간메모리
370073MilosMilutinovic비스킷 담기 (IOI20_biscuits)C++14
0 / 100
1194 ms1650408 KiB
#include "biscuits.h" #include <bits/stdc++.h> using namespace std; #define ll long long const int N=61; map<ll, ll> dp; ll pref[N], x; ll Solve(ll n) { if(n<=0) return 0LL; if(n==1) return 1LL; if(dp.find(n)!=dp.end()) return dp[n]; ll i=__lg(n-1); ll ans=Solve((ll)(1<<i))+Solve(min(n,pref[i]/x+1)-(ll)(1<<i)); return dp[n]=ans; } ll count_tastiness(ll X, vector<ll> a) { x=X; dp.clear(); for(int i=0; i<(int)a.size(); ++i) pref[i]=(i>0?pref[i-1]:0LL)+a[i]*(ll)(1<<i); for(int i=(int)a.size(); i<=60; ++i) pref[i]=pref[i-1]; return Solve(pref[60]); }
#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...