#include "souvenirs.h"
#include <utility>
#include <vector>
#include <bits/stdc++.h>
using namespace std;
long long n, p0;
long long cnt[205];
void buy_souvenirs(int N, long long P0)
{
n = N;
p0 = P0;
std::pair<std::vector<int>, long long> res = transaction(p0 -1);
if(res.first.size() == 2)
{
long long sum = p0 - 1 - res.second;
std::pair<std::vector<int>, long long> res2 = transaction(sum/2);
}
else if(res.first.size() == 1)
{
long long p1 = p0 - 1 - res.second;
std::pair<std::vector<int>, long long> res2 = transaction(p1-1);
std::pair<std::vector<int>, long long> res3 = transaction(p1-1);
}
return ;
long long pre = p0;
int st = 0, pow = 1;
while(true)
{
std::pair<std::vector<int>, long long> res = transaction(pow);
vector < int > taken = res.first;
if(!taken.size())
{
pow *= 2;
st ++;
continue;
}
if(taken[0] == 1)
{
long long resto = res.second;
long long p1 = pow - resto;
/// vzeli sme p1-to
long long p2 = p1 -1;
std::pair<std::vector<int>, long long> res2 = transaction(p2);
std::pair<std::vector<int>, long long> res3 = transaction(p2);
return;
}
else
{
long long resto = res.second;
long long p2 = pow - resto;
std::pair<std::vector<int>, long long> res2 = transaction(p0-1);
if(res2.first.size() == 1)
{
std::pair<std::vector<int>, long long> res3 = transaction(p2);
}
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... |