Submission #303592

# Submission time Handle Problem Language Result Execution time Memory
303592 2020-09-20T13:10:51 Z JooDdae Packing Biscuits (IOI20_biscuits) C++17
0 / 100
1 ms 384 KB
#include<bits/stdc++.h>
#include "biscuits.h"
using namespace std;
using ll = long long;

ll count_tastiness(ll x, vector<ll> a) {
	ll ans = 1;

	priority_queue<pair<ll, ll>> pq;
	for(int i=a.size()-1;i>=0;i--){
		ll u = 1ll << i;
		if(a[i]){
			ll p = 0;
			
			queue<pair<ll, ll>> q;
			while(!pq.empty() && pq.top().first > u){
				auto [x, y] = pq.top(); pq.pop();

				ll s = min(x / u, a[i] + 1);
				p += (s - 1) * y;
				ans += (s - 1) * y;
				if(x > u * s) q.push({x - u * s, y});
				else p += y;
			}

			while(!q.empty()) pq.push(q.front()), q.pop();
			ans += a[i];
			pq.push({u, a[i] + p});
		}
	}

	// while(!pq.empty()) printf("%lld %lld\n",pq.top().first,pq.top().second), pq.pop();
	return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
2 Incorrect 1 ms 256 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
2 Correct 1 ms 256 KB Output is correct
3 Correct 0 ms 256 KB Output is correct
4 Correct 1 ms 256 KB Output is correct
5 Correct 0 ms 256 KB Output is correct
6 Correct 1 ms 256 KB Output is correct
7 Correct 1 ms 256 KB Output is correct
8 Correct 1 ms 256 KB Output is correct
9 Incorrect 1 ms 256 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
2 Incorrect 1 ms 256 KB Output isn't correct
3 Halted 0 ms 0 KB -