#include "cave.h"
#include<bits/stdc++.h>
#define ll int
#define ff first
#define ss second
#define pb push_back
using namespace std;
const ll mod=1e9+7;
const ll inf=1e9;
const ll mxn=2e5+5;
void exploreCave(int N){
   	ll a[N+5],b[N+5],c[N+5];
	for(ll i=0; i<N; i++) {
    	ll s[N+5];
    	for(ll j=0; j<N; j++) {
    		if(c[j]!=0) 
				s[j]=a[j];
			else 
				s[j]=0;
		}
		ll x=tryCombination(s);
		ll t=1;
		if(x==-1||x>i) t=0;
		vector<ll> v;
		for(ll j=0; j<N; j++) {
			if(c[j]==0) v.pb(j);
		}
		while(v.size()>1) {
			for(ll j=0; j<N; j++) {
				if(c[j]!=0) 
					s[j]=a[j];
				else 
					s[j]=0;
			}
			vector<ll> v1,v2;
			ll u=v.size();
			for(ll j=0; j<u/2; j++) {
				v1.pb(v[j]);
				s[v[j]]=(1-t);
			}
			for(ll j=u/2; j<u; j++) {
				v2.pb(v[j]);
				s[v[j]]=(1-t);
			}
			x=tryCombination(s);
			if(x==-1||x>i) 
				v=v1;
			else 
				v=v2;
		}
		c[v.back()]=1;
		a[v.back()]=t;
		b[v.back()]=i;
	}
	ll s[N+5],k[N+5];
	for(ll i=0; i<N; i++) {
		s[i]=a[i];
		k[i]=b[i];
	}
	answer(s,k);
}
| # | 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... |