#include "souvenirs.h"
#include <bits/stdc++.h>
using namespace std;
pair<vector<int>, long long> transaction(long long M);
void buy_souvenirs(int N, long long P0) {
vector<long long> P(N);
P[0] = P0;
for (int i = 0; i + 1 < N; ++i) {
long long try1 = P[i] - 1;
if (try1 < 1) try1 = 1;
auto res = transaction(try1);
vector<int> L = res.first;
long long R = res.second;
bool bought_ip1 = false;
for (int t : L) if (t == i+1) { bought_ip1 = true; break; }
if (bought_ip1 && R == 0) {
P[i+1] = P[i] - 1;
} else {
long long try2 = P[i] - 2;
if (try2 < 1) try2 = 1;
auto res2 = transaction(try2);
P[i+1] = P[i] - 2;
}
}
for (int i = 1; i < N; ++i) {
for (int cnt = 0; cnt < i; ++cnt) {
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... |