| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1328469 | enzy | Packing Biscuits (IOI20_biscuits) | C++20 | 1138 ms | 1106964 KiB |
#include "biscuits.h"
#include<bits/stdc++.h>
#define ll long long
#define sz(v) (ll)(v.size())
const int maxk=62;
const int inf=2e18;
ll sp[maxk];
using namespace std;
long long count_tastiness(long long x, vector<long long> a){
while(a.size()<maxk-1) a.push_back(0ll);
sp[0]=0;
for(ll i=0;i<a.size();i++){
if(i) sp[i]=sp[i-1];
if(sp[i]==inf||a[i]==0) continue;
ll aux=(inf+a[i]-1)/a[i];
if((1ll<<i)>=aux) sp[i]=inf;
else sp[i]+=a[i]*(1ll<<i);
}
vector<ll>resp; resp.push_back(0ll);
for(ll k=0;k<maxk;k++){
int t=resp.size();
for(int i=0;i<t;i++){
if((resp[i]+(1ll<<k))*x>sp[k]) break;
resp.push_back(resp[i]+(1ll<<k));
}
}
ll ans=sz(resp);
return ans;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
