Submission #340403

#TimeUsernameProblemLanguageResultExecution timeMemory
340403MvCPacking Biscuits (IOI20_biscuits)C++14
9 / 100
1086 ms492 KiB
#include "biscuits.h"
#include <bits/stdc++.h>
#define rc(x) return cout<<x<<endl,0
#define pb push_back
#define mkp make_pair
#define in insert
#define er erase
#define fd find
#define fr first
#define sc second
#define all(x) x.begin(),x.end()
#define lun(x) (int)x.size()
typedef long long ll;
typedef long double ld;
const ll INF=0x3f3f3f3f3f3f3f3f;
const ll llinf=(1LL<<60);
const int inf=(1<<30);
const int nmax=1e5+50;
const ll mod=1e9+7;
using namespace std;
int i,rs,j,t,bl;
ll y,s,m;
vector<ll>b;
ll count_tastiness(ll x,vector<ll> a)
{
    s=0;
    for(i=0;i<lun(a);i++)s+=(1LL<<i)*a[i];
    rs=1;
    for(i=1;i<=s/x;i++)
    {
        bl=1;
        b=a;
        for(j=1;j<=x;j++)
        {
            y=i;
            for(t=lun(b)-1;t>=0;t--)
            {
                if(y-b[t]*(1LL<<t)>=0)
                {
                    y-=b[t]*(1LL<<t);
                    b[t]=0;
                }
                else
                {
                    m=y/(1LL<<t);
                    b[t]-=m;
                    y-=m*(1LL<<t);
                }
            }
            if(y)
            {
                bl=0;
                break;
            }
        }
        rs+=bl;
    }
    return rs;
}
/*int main()
{
    //freopen("sol.in","r",stdin);
    //freopen("sol.out","w",stdout);
    //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
    ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0);

    return 0;
}*/
#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...