#include "souvenirs.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n, known, cnt[105] = {};
ll p[105] = {};
int adu_build(ll money) {
auto [v, remain] = transaction(money);
ll sum = money - remain;
for (int i : v)
cnt[i]++;
while (v[0]<known) {
while (v.back()>=known) {
sum -= p[v.back()];
v.pop_back();
}
if (v[0]+1==known) break;
adu_build((sum-1)/v.size());
}
p[v[0]] = sum;
return v[0];
}
void adu_complete() {
for (int i=1; i<n; i++) {
while (cnt[i]<i) {
transaction(p[i]);
cnt[i]++;
}
}
}
void buy_souvenirs(int N, ll P0) {
n = known = N;
p[0] = P0;
adu_build(P0-1);
adu_complete();
}
# | 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... |