Submission #799492

#TimeUsernameProblemLanguageResultExecution timeMemory
799492QwertyPiPacking Biscuits (IOI20_biscuits)C++14
9 / 100
1045 ms340 KiB
#include "biscuits.h"
#include <bits/stdc++.h>

using namespace std;

const int MAXK = 60;
long long count_tastiness(long long x, vector<long long> a) {
	a.resize(MAXK); vector<long long> pw2(MAXK), s(MAXK);
	pw2[0] = 1; for(int i = 1; i < MAXK; i++) pw2[i] = pw2[i - 1] * 2;
	s[0] = a[0]; for(int i = 1; i < MAXK; i++) s[i] = s[i - 1] + a[i] * pw2[i];
	for(int i = 0; i < MAXK; i++) s[i] /= x;
	int ans = 0;
	for(long long y = 0; y <= 100000; y++){
		bool ok = true;
		for(int k = 0; k < MAXK; k++){
			int _y = y & ((1LL << k + 1) - 1);
			ok &= _y <= s[k];
		}
		ans += ok;
	}
	return ans;
}

Compilation message (stderr)

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:16:28: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
   16 |    int _y = y & ((1LL << k + 1) - 1);
      |                          ~~^~~
#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...