Submission #1310808

#TimeUsernameProblemLanguageResultExecution timeMemory
1310808jinjikhadzegiorgiCave (IOI13_cave)C++20
100 / 100
509 ms516 KiB
#include "cave.h" void exploreCave(int n) { int s[n], sFinal[n], dFinal[n]; bool found[n]; for(int i=0; i<n; i++){ s[i]=0; found[i]=false; } for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ if(!found[j])s[j]=0; } int res=tryCombination(s); int targetState; if(res==-1 || res>i){ targetState=0; }else{ targetState=1; } int l=0; int r=n-1; int swch=-1; while(l<=r){ int m=(l+r)/2; for(int j=0; j<n; j++){ if(!found[j]){ if(j>=l && j<=m){ s[j]=targetState; }else{ s[j]=1-targetState; } } } int res2=tryCombination(s); if(res2==-1 || res2>i){ r=m-1; swch=m; }else{ l=m+1; } } found[swch]=true; sFinal[swch]=targetState; dFinal[swch]=i; s[swch]=targetState; } answer(sFinal, dFinal); }
#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...