#include "minerals.h"
#include <bits/stdc++.h>
using namespace std;
mt19937_64 rng(chrono::high_resolution_clock::now().time_since_epoch().count());
int random(int l, int r) {
return uniform_int_distribution <int> (l, r)(rng);
}
void Solve(int N) {
vector <int> remain(2 * N);
iota(remain.begin(), remain.end(), 1);
deque <int> ve;
for (int times = 0; times < N; times++) {
while (true) {
int p = random(0, remain.size() - 1);
ve.emplace_back(remain[p]);
swap(remain[p], remain.back());
remain.pop_back();
if (Query(ve.back()) < ve.size()) {
while (true) {
int cur = ve.front(), ask = Query(cur); ve.pop_front();
if (ask == ve.size()) {
Answer(cur, ve.back());
Query(ve.back()); ve.pop_back();
break;
// ve = {nhung thang duoc them vao giua pairs}
}
remain.emplace_back(cur);
// nhung thang bo qua phai them lai remain
}
break;
}
}
}
}
| # | 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... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |