| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1353672 | muhammad-ahmad | Minerals (JOI19_minerals) | C++20 | 0 ms | 0 KiB |
#include "minerals.h"
#include <bits/stdc++.h>
using namespace std;
void solve(vector<int> A, vector<int> B){
if (A.empty()) return;
if (A.size() == 1){
Answer(A[0], B[0]);
}
int mid = A.size() / 2;
vector<int> A1(A.begin(), A.begin() + mid), A2(A.begin() + mid, A.end());
vector<int> B1, B2;
int bef = 0;
for (auto i : A1){
bef = query(i);
}
for (auto i : B){
int now = query(i);
if (now == bef) B1.push_back(i);
else B2.push_back(i);
query(i);
}
for (auto i : A1) query(i);
solve(A1, B1);
solve(A2, B2);
}
void Solve(int N){
vector<int> A, B;
for (int i = 1; i <= N; i++){
A.push_back(i);
B.push_back(i + N);
}
solve(A, B);
}