Submission #109375

#TimeUsernameProblemLanguageResultExecution timeMemory
109375amiratouCave (IOI13_cave)C++14
100 / 100
1238 ms640 KiB
#include "cave.h"
#include <bits/stdc++.h>
int ans[5002];
int doors[5002];
void exploreCave(int N) {
	memset(ans,-1,sizeof ans);
	for (int i = 0; i < N; ++i){
	    int l=0,r=N-1,state[N],c=0,a;
	    memset(state,0,sizeof state);
	    for (int i = 0; i < N; ++i)
	    	if(ans[i]!=-1)state[i]=ans[i];
	    if(tryCombination(state)==i)c=1;
	    while(l!=r){
	    	int med=(l+r)/2;
	    	for (int j = l; j <= med; ++j)
	    		state[j]=c;
	    	for (int j = med+1; j <= r; ++j)
	    		state[j]=(1-c);
	    	for (int j = 0; j < N; ++j)
	    		if(ans[j]!=-1)state[j]=ans[j];
	    	int check=tryCombination(state);
	    	if(check==i)l=med+1;
	    	else r=med;
	    }
	    ans[l]=c;
	    doors[l]=i;
	}
	answer(ans,doors);
}

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:8:33: warning: unused variable 'a' [-Wunused-variable]
      int l=0,r=N-1,state[N],c=0,a;
                                 ^
#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...