#ifdef EVAL
#include "souvenirs.h"
#endif
#include <bits/stdc++.h>
using namespace std;
#ifndef EVAL
pair<vector<int>, long long> transaction(long long M);
#endif
void buy_souvenirs(int N, long long P0) {
if (N == 2) {
transaction(P0 - 1);
return;
}
if (N == 3) {
auto [v, x] = transaction(P0 - 1);
if (v.size() == 2) {
long long sum = P0 - 1 - x;
transaction(sum / 2);
}
else {
long long P1 = P0 - 1 - x;
transaction(P1 - 1);
transaction(P1 - 1);
}
}
}
#ifndef EVAL
pair<vector<int>, long long> transaction(long long M) {
return {{}, M};
}
#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... |