#include "souvenirs.h"
#include <utility>
#include <vector>
#include <cassert>
#include <algorithm>
#include <numeric>
#include <iostream>
#include <cstring>
using namespace std;
const int Ma = 5e2+10;
using ll = long long;
int sold[111];
void buy_souvenirs(int N, long long P0) {
// if (N == 2) transaction(P0-1);
// else {
// for (int i = N - 1; i > 0; i--) {
// for (int j = i; j > 0; j--) transaction(j);
// }
// }
for (int i = 1; i < N; i++) sold[i] = 0;
ll cur = P0 - 1;
for (int i = 1; i < N - 1; i++) {
auto res = transaction(cur);
if (res.second == 1) { // no price 1
for (int j = 0; j < i - 1; j++) {
transaction(cur - 1);
}
cur -= 2;
}
else {
if (res.first.size() == 1) {
for (int j = 0; j < i - 1; j++) {
transaction(cur);
}
cur -= 1;
}
else {
sold[N - 1]++;
for (int j = 0; j < i - 1; j++) {
transaction(cur - 1);
sold[N - 1]++;
}
}
}
}
while (sold[N - 1] < N - 1) {
sold[N - 1]++;
transaction(1);
}
}
# | 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... |