#include "souvenirs.h"
#include <bits/stdc++.h>
using namespace std;
void buy_souvenirs(int N, long long P0) {
vector<int> bought(N);
/* WORKS FOR SUBTASK 3 */
//~ long long M = P0 - 1;
//~ for(int i = 1; i < N; ++i) {
//~ auto res = transaction(M);
//~ vector<int> b = res.first;
//~ long long extra = res.second;
//~ for(int idx : b) bought[idx]++;
//~ if((int)b.size() == 2 || extra == 1) M--;
//~ while(bought[i] < i) {
//~ transaction(M);
//~ bought[i]++;
//~ }
//~ M--;
//~ }
/* WORKS FOR SUBTASK 4 (N = 3) */
long long M = P0 - 1;
auto res = transaction(M);
vector<int> b = res.first;
long long extra = res.second;
if((int)b.size() == 2) {
long long p = (M - extra) / 2;
transaction(p);
} else {
long long p = M - extra;
transaction(p - 1);
transaction(p - 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... |