Submission #412391

# Submission time Handle Problem Language Result Execution time Memory
412391 2021-05-26T19:41:34 Z achibasadzishvili Packing Biscuits (IOI20_biscuits) C++17
0 / 100
7 ms 332 KB
#include "biscuits.h"
#include<bits/stdc++.h>
#define ll long long
#define f first
#define s second
#define pb push_back
using namespace std;
ll pre[505],n;
map<ll,pair<ll,ll> >got;
ll solve(ll k){
	if(k <= 0)return 0;
	if(got[k].f)return got[k].s;
	ll ret = 0;
	ll pw = 1,t = 0;
	while(2 * pw < k){
		t++;
		pw *= 2;
	}
	ret = solve(pw) + solve(min(k ,1 + pre[t] / n) - pw);
	got[k] = {1 , ret};
	//cout << k << " " << ret << '\n';
	return ret;
}
ll count_tastiness(ll x, vector<ll> a){
	got.clear();
	for(int i=0; i<=200; i++)
		pre[i] = 0;
	for(int i=0; i<a.size(); i++){
		if(!i)pre[i] = a[i] * (1LL << i);
		else pre[i] = pre[i - 1] + a[i] * (1LL << i);
	}
	n = x;
	got[1] = {1 , 1};
	return solve(pre[(int)a.size() - 1] + 1);
}

Compilation message

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:28:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |  for(int i=0; i<a.size(); i++){
      |               ~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 7 ms 332 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -