#include "park.h"
#include<bits/stdc++.h>
using namespace std;
static int Place[1400];
void Detect(int T, int N) {
	vector<int> all(N);
	iota(all.begin() , all.end() , 0);
	stable_sort(all.begin() , all.end() , [N](int a , int b){
		if(a == b)
			return 0;
		if(a == 0)
			return 1;
		// a in path 0--b
		if(b == 0)
			return 0;
		for(int i = 0 ; i < N ; i++)
			Place[i] = 1;
		Place[a] = 0;
		// cout<<a<<" "<<b<<'\n';
		int ret = (1 - Ask(0 , b , Place));
		// cout<<a<<" "<<b<<" "<<ret<<'\n';
		return ret;
	});
	// 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... |