Submission #1207593

#TimeUsernameProblemLanguageResultExecution timeMemory
1207593simona1230Packing Biscuits (IOI20_biscuits)C++20
9 / 100
1117 ms1051084 KiB
#include "biscuits.h"
#include <bits/stdc++.h>
using namespace std;


vector<long long> v;
long long p[64],h[64];

long long count_tastiness(long long x, std::vector<long long> a)
{
    v.clear();
    long long ans=1;
    v.push_back(0);
    for(int i=0;i<a.size();i++)
    {
        int sz=v.size();
        for(int j=0;j<sz;j++)
        {
            v[j]=v[j]/2+a[i];
            if(v[j]>=x)
            {
                ans++;
                v.push_back(v[j]-x);
            }
        }
    }

    for(int i=0;i<60;i++)
    {
        int sz=v.size();
        for(int j=0;j<sz;j++)
        {
            v[j]=v[j]/2;
            if(v[j]>=x)
            {
                ans++;
                v.push_back(v[j]-x);
            }
        }
    }

    /*p[0]=1;
    for(long long i=1;i<a.size();i++)
        p[i]=p[i-1]*2;
    long long sum=0;
    for(long long i=0;i<a.size();i++)
        sum+=a[i]*p[i];

        //cout<<sum/x<<endl;
	long long ans1=1;
	for(long long g=1;g<=sum/x;g++)
    {
        for(long long i=0;i<a.size();i++)
            h[i]=a[i];
        long long maxx=0,num=0;
        while(num<x)
        {
            long long curr=g;
            for(long long i=a.size()-1;i>=0;i--)
            {
                long long need=min(h[i],curr/p[i]);
                h[i]-=need;
                curr-=need*p[i];
            }
            if(curr!=0)break;
            num++;
        }
        if(num==x)ans1++;
    }
	if(ans1!=ans)
    {
        cout<<x<<endl;
        for(int i=0;i<a.size();i++)
            cout<<a[i]<<" ";
        cout<<endl;
        exit(0);
    }*/

    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...