#include "souvenirs.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
void sub1(int N, long long P0) {
pair<vector<int>, long long> res = transaction(P0-1);
}
void sub2(int N, ll P0){
for(int i=N-1;i>0;i--){
for(int j=N;j>i;j--){
transaction(i);
}
}
}
void sub3(int N,ll P0){
vector<ll> rem(N);
for(int i=0;i<N;i++){
rem[i]=i;
}
ll cost=P0-1;
for(int i=1;i<N;i++){
pair<vector<int>, long long> res =transaction(cost);
for(auto x:res.first)rem[x]--;
if(res.first.size()>1||res.second)cost--;
while(rem[i]){
transaction(cost);
}
cost--;
}
}
void sub4(int N, long long P0) {
pair<vector<int>, long long> res = transaction(P0-1);
ll cost=P0-1-res.second;
//cout<<"#"<<cost<<endl;
if(res.first.size()>1)
transaction(cost/2);
else{
transaction(cost-1);
transaction(cost-1);
}
}
void buy_souvenirs(int N, long long P0) {
if(N==3)sub4(N,P0);
else if(N==2) sub1(N,P0);
else sub3(N,P0);
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... |