#include "souvenirs.h"
#include "bits/stdc++.h"
#include <utility>
#include <vector>
using namespace std;
typedef long long ll;
#define fi first
#define se second
#define pb push_back
void buy_souvenirs(int N, long long P0) {
  // long long X = P0 - 1;
  // pair<vector<int>, long long> res = transaction(X);
  // ll Y = res.second;
  // // cout << X << " " << Y << "\n";
  // if((res.first).size() == 1) {
  //   transaction(X - Y - 1);
  //   transaction(X - Y - 1);
  // } else {
  //   transaction((X - Y) / 2);
  // }
  vector<ll> cur;
  cur.pb(P0);
  for(int i = 1; i < N; i++) {
    pair<vector<int>, long long> res = transaction(cur[i - 1] - 1);
    // cout << res.se << " dari " << i << "\n";
    if(res.se == 0) {
      cur.pb(cur[i - 1] - 1);
    } else {
      cur.pb(cur[i - 1] - 2);
    }
    for(int j = 1; j < i; j++) {
      transaction(cur[i]);
    }
    // cout << cur[i] << "@\n";
  }
  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... |