#include <bits/stdc++.h>
#include "souvenirs.h"
using namespace std;
void buy_souvenirs(int n, long long p0){
  int amnt = 1;
  int curr = p0;
  for(int i = 2; i < n; i++){
    pair<vector<int>,int> stuff = transaction(curr-1);
    if(stuff.first.size() == 2){
      // multiple elements
      // which has to be the last 
      amnt++;
      curr-=2;
    }
    else{
      // one element
      curr -= (1+stuff.second);
    }
    for(int j = 2; j < i; j++){
      transaction(curr);
    }
  }
  // the last element has been queried a total of amnt times.
  for(int i = amnt; i < n; i++){
    transaction(curr-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... |