Submission #166743

#TimeUsernameProblemLanguageResultExecution timeMemory
166743AlabanaCave (IOI13_cave)C++14
51 / 100
376 ms512 KiB
#include "cave.h" void exploreCave(int N) { int S[N],D[N]; for(int i=0;i<N;i++){ S[i]=0; D[i]=-1; } int i=0; while(i<N){ int ini=0, fim=N-1,atual=-1; int meio=(ini+fim)/2; if(tryCombination(S)>i or tryCombination(S)==-1){ atual=0; } else{ atual=1; } while(ini<fim){ meio=(ini+fim)/2; for(int j=ini;j<=meio;j++){ if(D[j]==-1)S[j]=1; } int a=tryCombination(S); if((atual==1 and (a>i or a==-1)) or (atual==0 and a==i)){ for(int j=ini;j<=meio;j++){ if(D[j]==-1)S[j]=0; } fim=meio; } else if((atual==1 and a==i) or (atual==0 and (a>i or a==-1))){ if(ini==fim-1){ D[fim]=i; } for(int j=ini;j<=meio;j++){ if(D[j]==-1)S[j]=0; } ini=meio+1; } } S[ini]=atual; D[ini]=i; i++; } answer(S,D); }
#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...