#include "park.h"
#include<bits/stdc++.h>
using namespace std;
static int Place[1400];
void Detect(int T, int N) {
vector<int> all = {0 , 1};
for(int i = 2 ;i < N ; i++)
{
int l = 0 , r = i;
while(l + 1 < r)
{
int md = (l + r)>>1;
for(int j = 0 ; j < N ; j++)
Place[j] = 1;
for(int j = md ; j < i ; j++)
Place[all[j]] = 0;
assert(Place[0] == 1 && Place[i] == 1);
bool check = Ask(0 , i , Place);
if(check)
r = md;
else
l = md;
}
all.insert(l + 1 + all.begin() , i);
}
// for(int i = 0 ; i < N ; i++)
// cout<<all[i]<<" ";
// cout<<'\n';
Answer(0 , all[1]);
for(int i = 2 ; i < N ; i++)
{
int l = 0 , r = i;
while(l + 1 < r)
{
int md = (l + r)>>1;
for(int j = 0 ; j < N ; j++)
Place[j] = 1;
for(int j = md ; j < i ; j++)
Place[all[j]] = 0;
assert(Place[0] == 1 && Place[all[i]] == 1);
bool check = Ask(0 , all[i] , Place);
if(check)
r = md;
else
l = md;
}
// cerr<<l<<" "<<i<<'\n';
int a = all[i] , b = all[l];
if(a > b)
swap(a , b);
Answer(a , b);
}
}
# | 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... |