제출 #652939

#제출 시각아이디문제언어결과실행 시간메모리
652939mychecksedadPacking Biscuits (IOI20_biscuits)C++17
9 / 100
55 ms340 KiB
#include<bits/stdc++.h> using namespace std; typedef long long int ll; #define pb push_back int n; ll count_tastiness(ll x, vector<ll> a){ n = a.size(); for(int i = 0; i < n; ++i) a.pb(0); n = a.size(); ll ans = 0; int sum = 0; for(int i = 0; i < min(n, 62); ++i) sum += (1ll<<i) * a[i]; if(sum <= 100000){ for(ll y = 0; y <= sum / x; ++y){ ll c = 0; bool ok = 1; for(ll j = 0; j < 63; ++j){ if((1ll<<j)&y){ c += a[j]; if(c<x){ ok = 0; break; } c-=x; }else{ c += a[j]; } c >>= 1; } if(ok) ans++; } return ans; }else{ vector<ll> b = a; int mx = -1, mx1 = -1; for(int i = 0; i < n - 1; ++i){ if(b[i] > 1) b[i + 1] += (b[i]-1)/1; if(b[i + 1] > 0) mx = i + 1; } ll ans = 1; for(int i = 0; i < n - 1; ++i) if(b[i]>0) ans *= 2; for(int i = 0; i < n - 1; ++i){ a[i + 1] += a[i]/2; if(a[i + 1] > 0) mx1 = i + 1; } if(mx!=mx1) ++ans; return ans; } return ans; }
#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...