#include "souvenirs.h"
#include <bits/stdc++.h>
using namespace std;
#define MOD 1000000007
#define ll long long
const int N = 100;
ll prc[N], tot[N];
int n;
void recur(long long p){
auto [l, r] = transaction(p);
for (auto i : l){
tot[i]++;
}
while (l.size() > 1){
if (prc[l.back()]){
r += prc[l.back()];
l.pop_back();
}
else{
recur((p - r) / l.size());
}
}
prc[l[0]] = p - r;
if (prc[l[0] + 1] == 0 and l[0] != n - 1){
recur(prc[l[0]] - 1);
}
}
void buy_souvenirs(int n, ll p)
{
::n = n;
recur(p - 1);
for(int i = 1; i < n; i++){
while(tot[i] < i){
transaction(prc[i]);
tot[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... |