Submission #1034691

#TimeUsernameProblemLanguageResultExecution timeMemory
1034691Marco_Escandon비스킷 담기 (IOI20_biscuits)C++17
0 / 100
100 ms8720 KiB
#include<bits/stdc++.h>
//#include "biscuits.h"
using namespace std;
typedef long long ll;
vector<ll> temp;
map<pair<ll,ll>,ll> mapa;
ll sol(ll i, ll j)
{
	if(i==-1) return 1;
	if(i<-1||j<(1ll<<i)) return 0;
	if(mapa[{i,j}]!=0) return mapa[{i,j}];
	ll h=-1;
	if(j>(1LL<<i)) h=min((ll)(log2l(j-(1LL<<i))),i-1LL);
	ll ac=sol(h,j-(1LL<<i));
	for(int k=0; k<h; k++)
		ac+=sol(k,temp[k]);
	if(h!=-1)ac++;
	return mapa[{i,j}]=ac;
}
long long count_tastiness(long long x, std::vector<long long> a) {
	a.resize(63);
	temp=a;
	ll ac=0;
	for(int i=0; i<a.size(); i++)
	{
		ac+=(a[i]<<i);
		temp[i]=ac/x;
	}
	ll ac2=0;
	for(int i=0; i<63; i++)
	{
		ac2+=sol(i,temp[i]);
	}
	return ac2+1;
}

Compilation message (stderr)

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