#include <bits/stdc++.h>
#include "souvenirs.h"
using namespace std;
typedef long long ll;
typedef pair<ll, ll> pll;
#define all(v) v.begin(), v.end()
constexpr ll inf = 1ll << 62ll;
mt19937 mt(time(0));
ll _ = 0;
void buy_souvenirs(int N, ll P0) {
ll n = N;
vector<ll> prices(n);
prices[0] = P0;
vector<ll> cnt(n);
for (ll nxt = 1; nxt < n; nxt++) {
ll guess = prices[nxt-1] - 1;
auto [vec, rem] = transaction(guess);
for (auto &e : vec) cnt[e]++;
if (vec.size() > 1 || rem != 0) prices[nxt] = guess-1;
else prices[nxt] = guess;
}
for (ll i = 1; i < n; i++) {
while (cnt[i] < i) transaction(prices[i]), cnt[i]++;
}
}
#ifdef TEST
#include "grader.cpp"
#endif
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |