Submission #73186

#TimeUsernameProblemLanguageResultExecution timeMemory
73186TuGSGeReL동굴 (IOI13_cave)C++14
0 / 100
992 ms648 KiB
#include "cave.h"
#include<bits/stdc++.h>
#define ll int
#define mp make_pair
#define pub push_back
#define pob pop_back
#define ss second
#define ff first
#define ext exit(0)
using namespace std;
ll i,j,ans[5001],pos[5001],ask[5001],k,l,r,lol;
bool boo[5001];
vector<ll>v;
void exploreCave(int n){
	memset(boo,0,sizeof boo);
	for(i=0;i<n;i++){
		v.clear();
		for(j=0;j<n;j++){
			if(boo[i]==0) ask[i]=0,v.pub(j);
			else ask[i]=ans[i];
		}
		k=tryCombination(ask);
		if(k==-1 || k>i) ans[i]=ask[i];
		else ans[i]=1-ask[i];
		l=0,r=v.size()-1;
		lol=v.size()-1;
		while(l<=r){
			ll mid=(l+r)/2;
			for(j=0;j<v.size();j++){
				if(j<=mid){
					ask[v[j]]=ans[i];
				}
				else{
					ask[v[j]]=1-ans[i];
				}
			}
			k=tryCombination(ask);
			if(k==-1 || k>i){
				lol=mid;
				r=mid-1;
			}
			else l=mid+1;
		}
		pos[i]=v[lol];
		boo[i]=1;
	}
	answer(ans,pos);
}

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:29:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(j=0;j<v.size();j++){
            ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...