#include "minerals.h"
#include <bits/stdc++.h>
using namespace std;
void Solve(int n){
vector<int> candi(2 * n);
vector<bool> ansed(2 * n);
for(int mask = 1 ; mask < 2 * n;mask += mask){
int lst = 0;
for(int i = 0 ; i < 2 * n ; i++){
if(i & mask){
int cur = Query(i+1);
if(cur == lst){
candi[i] |= mask;
}
lst = cur;
}
}
for(int i = 0 ; i < 2 * n ; i++)if(i & mask)Query(i+1);
for(int i = 0 ; i < 2 * n ; i++){
if((i & mask) == 0){
int cur = Query(i+1);
if(cur != lst){
candi[i] |= mask;
}
lst = cur;
}
}
for(int i = 0 ; i < 2 * n ; i++)if((i & mask) == 0)Query(i+1);
}
for(int i = 0 ; i < 2 * n ; i++){
if(ansed[i])continue;
if(candi[i] < 2 * n){
Query(i+1);
if(Query(candi[i]+1) == 1){
ansed[i] = 1;
ansed[candi[i]] = 1;
Answer(i+1, candi[i]+1);
}
Query(i+1);
Query(candi[i]+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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |