제출 #805884

#제출 시각아이디문제언어결과실행 시간메모리
805884LittleCube비스킷 담기 (IOI20_biscuits)C++17
9 / 100
1119 ms1097424 KiB
#include "biscuits.h"
#include <bits/stdc++.h>
#define ll long long
using namespace std;

long long count_tastiness(ll x, vector<ll> a)
{
	a.resize(60);
	int k = 60;
	vector<ll> sum(k), fold(k);
	sum[0] = a[0];
	for (int i = 1; i < k; i++)
		sum[i] = sum[i - 1] + (a[i] << i);
	for (int i = 0; i < k; i++)
		if (sum[i] / x / (1LL << i) == 0)
			fold[i] = -1;
		else
			fold[i] = min((1LL << i) - 1, (sum[i] - x * (1LL << i)) / x);
	vector<int> v;
	v.reserve(400000);
	v.emplace_back(0);
	for (int i = 0; i < k; i++)
	{
		for (int j = 0; j < v.size(); j++)
			if(v[j] <= fold[i])
				v.emplace_back((1LL << i) + v[j]);
	}
	return v.size();
}

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

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