#include "souvenirs.h"
#include <bits/stdc++.h>
using namespace std;
vector<long long> P;
vector<int> cnt;
void update(vector<int> &ls) {
for (int x : ls) cnt[x]++;
}
void buy_souvenirs(int N, long long P0) {
// pair<vector<int>, long long> res = transaction(3);
P.resize(N);
P[0] = P0;
cnt.resize(N);
// for (int i = 1; i < N; i++) {
// pair<vector<int>, long long> res = transaction(P[i-1]-1);
// update(res.first);
// if (res.first.size() > 1 || res.second > 0) {
// P[i] = P[i-1]-2;
// }
// else P[i] = P[i-1]-1;
// }
// for (int i = 1; i < N; i++) {
// for (int j = cnt[i]+1; j <= i; j++) transaction(P[i]);
// }
pair<vector<int>, long long> res = transaction(P0-1);
if (res.first.size() == 1) {
P[1] = P0 - 1 - res.second;
transaction(P[1]-1);
transaction(P[1]-1);
}
else {
pair<vector<int>, long long> res2 = transaction((P0-1-res.second)/2);
assert(res2.first.size() == 1);
}
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... |