#include "souvenirs.h"
#include <bits/stdc++.h>
using namespace std;
void buy_souvenirs(int N, long long P0) {
if (N == 2) {
transaction(P0 - 1);
return;
}
if (P0 == N) {
for (int i = 1; i < N; i++) {
for (int j = 0; j < i; j++) transaction(N - i);
}
return;
}
if (N == 3) {
auto res = transaction(P0 - 1);
if ((int)res.first.size() == 1 && res.first[0] == 1) {
transaction(P0 - 2);
} else {
transaction(res.second + 1);
}
return;
}
vector<long long> P(N);
P[0] = P0;
for (int i = 1; i < N; i++) {
auto res = transaction(P[i - 1] - 1);
if ((int)res.first.size() == 1) {
P[i] = P[i - 1] - 1;
} else {
P[i] = P[i - 1] - res.second - 1;
}
}
for (int i = 1; i < N; i++)
for (int j = 0; j < i; j++)
transaction(P[i] - 1);
}
| # | 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... |