| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1285796 | alexrana2626 | Souvenirs (IOI25_souvenirs) | C++20 | 0 ms | 0 KiB | 
#include <utility>
#include <bits/stdc++.h>
using namespace std;
void buy_souvenirs(int N, long long P0) 
{
  pair<vector<int>, long long> res;
  vector<long long> v;
  if (N == 2)
  {
  	transaction(P0 - 1);
  	return;
  }
  else if (N == 3)
  {
  	res = transaction(P0 - 1);
  	long long x = res.second;
  	if (res.first[2] == 0)
  	{
  		long long P1 = P0 - x - 1;
  	    transaction(P1 - 1);
	   	transaction(P1 - 1);
	}
	else
	{
		long long P1 = (P0 - x - 1)/2;
		transaction(P1 - 1);
	}
	return;
  }
  else if(P0 == N)
  {
  	for (int i = 0; i < N; i++)
  	{
  		int j = i;
  		while (j--)
  		{
  			transaction(N-i);
		}
    }  
	return;
  }
}
