제출 #831202

#제출 시각아이디문제언어결과실행 시간메모리
831202Username4132비스킷 담기 (IOI20_biscuits)C++17
100 / 100
11 ms1236 KiB
#include "biscuits.h" #include<iostream> #include<vector> using namespace std; using ll = long long; #define forn(i, n) for(int i=0; i<(int)n; ++i) const int MAXN = 62; int n; ll val[MAXN], res[MAXN]; long long count_tastiness(ll x, vector<ll> a) { n = (int)a.size(); ll su=0; forn(i, MAXN){ if(i<n) su+=a[i]*(1LL<<i); val[i]=(su/x); int cur=i; ll ans=0, r=val[i]; while(true){ if(cur==0){ ans+=(r>0)+1; break; } if(r>=(1LL<<(cur+1))-1){ ans+=2*res[cur-1]; break; } if(r>=(1LL<<cur)){ ans+=res[cur-1]; r-=(1LL<<cur); } r = min(r, val[cur-1]); --cur; } res[i]=ans; } return res[MAXN-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...