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