#include "souvenirs.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ff first
#define ss second
void buy_souvenirs(int n, ll p0) {
ll pl = max(1ll, p0 - 2ll * (n - 1));
vector<ll> p(n), cnt(n);
while (pl < p0) {
auto res = transaction(pl);
if (res.ff.size() == 1) {
p[n - 1] = pl;
break;
}
pl++;
}
if (p[n - 1] == 0) {
p[n - 1] = p0 - 1;
}
cnt[n - 1]++;
for (int i = n - 2; i >= 0; i--) {
auto res = transaction(p[i + 1] + 1);
if (res.ff[0] == i) {
cnt[i]++;
p[i] = p[i + 1] + 1;
} else {
cnt[i + 1]++;
p[i] = p[i + 1] + 2;
}
}
for (int i = 1; i < n; i++) {
for (int j = cnt[i]; j < i; j++) {
transaction(p[i]);
}
}
}
# | 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... |