#include "minerals.h"
#include<bits/stdc++.h>
using namespace std;
const int MAXN = 43000;
bool is_in[MAXN];
int last = 0;
int Q(int x)
{
is_in[x] = !is_in[x];
return last = Query(x);
}
void recur(vector<int> A, vector<int> B)
{
assert(A.size() == B.size());
int N = A.size();
assert(N >= 1);
if(N==1)
{
Answer(A[0], B[0]);
return;
}
int M = N/2;
vector<int> fA, fB, sA, sB;
for(int i=0; i<M; ++i)
{
fA.push_back(A[i]);
Q(A[i]);
assert(is_in[A[0]] == is_in[A[i]]);
}
bool is_fA_inside = is_in[A[0]];
for(int i=M; i<N; ++i)
{
sA.push_back(A[i]);
}
int i = 0;
while(fB.size() != fA.size() && sB.size() != sA.size())
{
int plast = last;
Q(B[i]);
if(is_fA_inside == (last == plast) )
fB.push_back(B[i]);
else
sB.push_back(B[i]);
++i;
}
while(fB.size() != fA.size()) fB.push_back(B[i++]);
while(sB.size() != sA.size()) sB.push_back(B[i++]);
recur(fB, fA);
recur(sB, sA);
}
void Solve(int N) {
vector<int> V, W;
for(int i=1; i<=2*N; ++i)
{
int plast = last;
Q(i);
if(last != plast) V.push_back(i);
else W.push_back(i);
}
recur(V, W);
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
248 KB |
Wrong Answer [5] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
3 ms |
376 KB |
Wrong Answer [5] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
248 KB |
Wrong Answer [5] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
248 KB |
Wrong Answer [5] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
248 KB |
Wrong Answer [5] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
248 KB |
Wrong Answer [5] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
248 KB |
Wrong Answer [5] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
248 KB |
Wrong Answer [5] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
248 KB |
Wrong Answer [5] |
2 |
Halted |
0 ms |
0 KB |
- |