#include "minerals.h"
#include <bits/stdc++.h>
using namespace std;
void Solve(int N) {
int cur = 0;
int prev = 0;
int x = log2(N) + 1;
vector<int> binary(N + 1, N + 1);
for(int bit = 0; bit < x; bit ++){
for(int i = 0; i < N; i ++){
if(i & (1 << bit)) prev = Query(i + N + 1);
}
for(int i = 1; i <= N; i ++){
cur = Query(i);
if(cur == prev) binary[i] += (1 << bit);
prev = Query(i);
}
for(int i = 0; i < N; i ++){
if(i & (1 << bit)) Query(i + N + 1);
}
}
for(int i = 1; i <= N; i ++){
//cout << binary[i] << " ";
Answer(i, binary[i]);
}
}
/*
g++ -std=gnu++17 -O2 -o minerals grader.cpp minerals.cpp
3
1 4
2 5
3 6
2
1 3
2 4
10
1 17
4 19
5 13
6 15
7 11
8 16
2 14
3 12
9 18
10 20
*/
# | 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... |