Submission #1033423

#TimeUsernameProblemLanguageResultExecution timeMemory
1033423Maite_MoralePacking Biscuits (IOI20_biscuits)C++14
0 / 100
1067 ms348 KiB
#include <bits/stdc++.h>
using namespace std;

long long count_tastiness(long long x, std::vector<long long> a) {
	long long c=0;
	std::vector<long long> t={1},v={0};
	for(long long i=0;i<64;i++){
		if(i<a.size())c+=(a[i]<<i);
		t.push_back(t.back());
		v.push_back(c);
		long long h=c/x-(1LL<<i);
		long long r=0;
		while(h>=0){
			long long lg=0;
			if(h>0)lg=log2(h)+1LL;
			lg=min(lg,i);
			if(h>=v[lg]){
				r+=t[lg];
				break;
			}	
			r+=t[lg-1];
			h-=(1LL<<(lg-1));
		}
		t[i+1]+=r;
	}	
return t[64];
}

Compilation message (stderr)

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:8:7: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    8 |   if(i<a.size())c+=(a[i]<<i);
      |      ~^~~~~~~~~
#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...