제출 #497613

#제출 시각아이디문제언어결과실행 시간메모리
497613HanksburgerPacking Biscuits (IOI20_biscuits)C++17
0 / 100
1089 ms336 KiB
#include "biscuits.h"
#include <bits/stdc++.h>
using namespace std;
vector<long long> B;
long long pow2[65];
long long count_tastiness(long long X, vector<long long> A)
{
	pow2[0]=1;
	for (long long i=1; i<=62; i++)
		pow2[i]=pow2[i-1]*2;
	long long N=A.size(), sum=0, ans=0;
	for (long long i=0; i<A.size(); i++)
		sum+=pow2[i]*A[i];
	if (sum<=100000)
	{
		for (long long i=0; i<=sum/X; i++)
		{
			B=A;
			bool ok=1;
			for (long long j=0; j<X; j++)
			{
				long long cur=i;
				for (long long k=N-1; k>=0; k--)
				{
					long long num=min(B[k], cur/pow2[k]);
					B[k]-=num;
					cur-=pow2[k]*num;
				}
				if (cur)
				{
					ok=0;
					break;
				}
			}
			if (ok)
				ans++;
		}
		return ans;
	}
}

컴파일 시 표준 에러 (stderr) 메시지

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:12:23: 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]
   12 |  for (long long i=0; i<A.size(); i++)
      |                      ~^~~~~~~~~
biscuits.cpp:40:1: warning: control reaches end of non-void function [-Wreturn-type]
   40 | }
      | ^
#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...