#include "souvenirs.h"
#include <utility>
#include <vector>
using namespace std;
void buy_souvenirs(int N, long long P0) {
if (N==2) {
transaction(P0-1);
} else
if (N==3) {
int k = 0;
pair <vector<int>, long long> m = transaction(P0-1);
if (int(m.first.size()) == 2) {
k = 1;
}
if (k == 0) {
transaction(P0-1-m.second-1);
transaction(P0-1-m.second-1);
} else {
transaction((P0-1-m.second)/2);
}
} else
if (P0==N) {
for (int i = 1; i <= N-1; i++) {
for (int j = 1; j <= i; j++) {
transaction(N-i);
}
}
} else {
int k = 0, l = 0;
for (int i = 1; i < N-1; i++) {
pair <vector<int>, long long> m = transaction(P0-1);
if (m.first.size() == 2) {
k++;
for (int j = 1; j <= i-1; j++) {
transaction(P0-2);
}
P0-=2;
} else {
for (int j = 1; j <= i-1; j++) {
transaction(P0-1);
}
P0--;
}
}
for (int i = 1; i <= N-1-k; i++) {
transaction(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... |