제출 #993136

#제출 시각아이디문제언어결과실행 시간메모리
993136vjudge1동굴 (IOI13_cave)C++17
100 / 100
165 ms600 KiB
#include "cave.h" using namespace std; int n2; int ask(int x[]){ int ts=tryCombination(x); if(ts==-1)return n2; return ts; } void exploreCave(int N) { n2=N; int d[N]={},s[N]={}; bool dn[N]={}; if(N==1){ if(ask(s)!=1)s[0]=1; answer(s,d); return; } int ts=ask(s),ts2; for(int i=0; i<N; i++){ int l=0,r=N-1; while(l<=r){ if(l==r){ dn[l]=1; d[l]=i; if(ts2<=i)s[l]^=1; ts=ask(s); break; } int md=(l+r)/2; for(int j=l; j<=md; j++){ if(dn[j])continue; s[j]^=1; } ts2=ask(s); if((ts<=i && ts2>=i+1) || (ts>=i+1 && ts2<=i)){ r=md; ts=ts2; } else{ l=md+1; } } } 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...