#include "minerals.h"
#include <bits/stdc++.h>
// #include <ext/pb_ds/assoc_container.hpp>
// #include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using ll = long long;
using ld = long double;
using ull = unsigned long long;
using str = string; // yay python!
#define show(x) cerr << (#x) << " = " << (x) << '\n';
#define output_vector(v) for(auto &x : v){cout << x << ' ';}cout << '\n';
#define output_pairvector(v) for(auto &x : v){cout << x.first << " " << x.second << '\n';}
#define read_vector(v) for(auto &x : v){cin >> x;}
#define vt vector
#define pq priority_queue
#define pb push_back
#define eb emplace_back
#define pii pair<int,int>
#define fir first
#define sec second
#define sz(x) int(x.size())
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define discretize(x) sort(x.begin(), x.end()); x.erase(unique(x.begin(), x.end()), x.end());
void dnc(vector<int> a) {
int n = sz(a); // 2N
if(n == 2) {
Answer(a[0], a[1]);
return;
}
vector<int> x, y;
vector<bool> in_machine(n);
int d = 0;
for(int i=0; i<n; ++i) {
int res = Query(a[i]);
if(res > d)
in_machine[i] = true; // pair not in machine
else
res = Query(a[i]); // extract it, pair alr exsits
d = res;
if(d == n/4) break;
}
for(int i=0; i<n; ++i) {
if(in_machine[i]) continue;
int res = Query(a[i]);
if(res == d)
in_machine[i] = true;
else
res = Query(a[i]);
}
for(int i=0; i<n; ++i) {
if(in_machine[i]) {
Query(a[i]);
x.push_back(a[i]);
} else
y.push_back(a[i]);
}
dnc(x);
dnc(y);
}
void Solve(int N) {
vector<int> a(2*N);
for (int i = 0; i<2*N; ++i) {
a[i] = i+1;
}
dnc(a);
}
# | 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... |