#include "souvenirs.h"
#include <utility>
#include <vector>
#include <bits/stdc++.h>
using namespace std;
void buy_souvenirs(int N, long long P0)
{
if(N==2)
{
transaction(P0-1);
}
else if(N==3)
{
pair<vector<int>, long long> par=transaction(P0-1);
if(par.first.size()==2)
transaction((P0-1-par.second)/2);
else
{
long long br=P0-1-par.second;
transaction(P0-1-par.second-1);
transaction(P0-1-par.second-1);
}
}
else
{
long long arr[N]={},cnt[N]={};
arr[0]=P0;
long long br=P0;
for(long long i=1;i<N;i++)
{
pair<vector<int>, long long> par=transaction(br-1);
if(par.second==1 || par.first.size()==2)
{
arr[i]=arr[i-1]-2;
}
else
{
arr[i]=arr[i-1]-1;
}
br=arr[i];
for(auto it : par.first)
{
cnt[it]++;
}
}
for(int i=0;i<N;i++)
{
for(int j=cnt[i];j<i;j++)
{
transaction(arr[i]);
}
}
}
}
# | 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... |